2017-07-18 66 views
-7

要求...我只需要在<?xml之前刪除文本,同時保留每個<?xml標記之間的內容。需要使用Notepoad ++刪除字符串之前的文本

例子

DEBUG 12 Jul 09:39:23 [PSE-10000000516] OnlinePublisher.java :120 - 
Publishing 

    <?xml version="1.0" encoding="utf-8"?> 
     <XMLDATA> 
     <CHILD_DATA> 
     ABCD 
     </CHILD_DATA> 
     </XMLDATA> 

DEBUG 12 Jul 09:40:23 [JOB-660] OnlinePublisher.java :120 - 
Publishing 

    <?xml version="1.0" encoding="utf-8"?> 
+0

「我需要之前的文本,以除去文本。」,這不是很清楚,你有一個示例輸入/期望的輸出? –

+0

這並不清楚你想要做什麼...也許你應該格式化示例(縮進每行至少4個空格,以便它們顯示爲示例文本) – wrlee

+0

您可以給出一個前後示例的字符串應該? –

回答

0

試試這個^(\w+.*\s+)(\w+\s)\s+

  1. 按Ctrl + F
  2. Repla CE
  3. 選擇正則表達式
  4. 輸入查找內容
  5. 更換

可能是這將有助於你給正則表達式。

1

這是做你想要什麼:

  • 按Ctrl + ^h
  • 查找內容:[^<>]+?(?=\R\s*<\?xml)
  • 替換:EMPTY
  • 更換所有

說明:

[^<>]+?  : 1 or more characters that is not <or>, not greedy 
(?=   : start lookahead 
    \R  : any kind of line break 
    \s*  : 0 or more spaces 
    <\?xml : literally 
)   : end lookahead 

CHECK . matches newline

結果對於給定的例子(4次):

<?xml version="1.0" encoding="utf-8"?> 
    <XMLDATA> 
    <CHILD_DATA> 
    ABCD 
    </CHILD_DATA> 
    </XMLDATA> 
<?xml version="1.0" encoding="utf-8"?> 
    <XMLDATA> 
    <CHILD_DATA> 
    ABCD 
    </CHILD_DATA> 
    </XMLDATA> 
<?xml version="1.0" encoding="utf-8"?> 
    <XMLDATA> 
    <CHILD_DATA> 
    ABCD 
    </CHILD_DATA> 
    </XMLDATA> 
<?xml version="1.0" encoding="utf-8"?> 
    <XMLDATA> 
    <CHILD_DATA> 
    ABCD 
    </CHILD_DATA> 
    </XMLDATA> 
+0

嗨託託,這工作,如果我有一個XML在文件中...但如果我有很多的XML,它保留第一個XML並刪除所有下面的XML .. 例如 Hello1 <?XML版本= 「1.0」 編碼= 「UTF-8」?> ABCD Hello2 <?XML版本= 「1.0」 編碼= 「UTF-8」?> XYZ 有了您上面的命令,我只會有ABCD的XML。 –

+0

@MithilShukla:看我的編輯。 – Toto

+0

嗨託託,我很抱歉,命令無法找到字符串文字.. –

相關問題