2013-10-03 232 views
1

我有一個HTML代碼,我想從中刪除某些標籤。我試圖做,而不解析它和回收標籤。所以,我得到了一個字符串中的整個HTML代碼。我想刪除以下標籤:用特殊字符分割字符串

<cite>www.youtube.com/watch?v= 

對於這一點,我使用:

array=htmlCode.split("<cite>www.youtube.com/watch?v="); 

這個標籤會出現很多次。但是當我拆分時,我沒有在我的數組中獲得子字符串,只是得到一個完整的代碼字符串。這是爲什麼發生?

+4

您應該使用替換方法。順便說一句,你沒有把正確的分裂參數。 –

+0

取代??爲什麼它錯了?我也嘗試通過在每個特殊字符上放置轉義[array = htmlCode.split(「\\ www \\。youtube \\。com \\/watch \\?v \\ =」);]這也不起作用。 –

+0

嘗試替換,如果你確切知道你想刪除哪個標籤 – DropAndTrap

回答

1
  1. 你一定要逃逸正則表達式.?,因爲他們有特殊的含義。通常情況下,您可以使用單個反斜槓,\。但是,我們正處於一個字符串中,並且不幸的是在引號內還有一個特殊的含義。所以,我們必須再次逃脫,這就是爲什麼我們需要兩個反斜槓,\\

  2. replaceAll(String regex, String replacement)是您正在查找的方法。

實施例:

String htmlCode = "START<cite>www.youtube.com/watch?v=END"; 
String result = htmlCode.replaceAll("<cite>www\\.youtube\\.com/watch\\?v=", ""); 
System.out.println(result); 

Output

STARTEND 

加成:

RegexPal是用於測試的正則表達式的方便工具。

+0

好主意。但是響應是完整的HTML代碼。如果我將其替換爲空白,我將不會獲取關鍵字來獲取xD。所以,我想我可以用其他一些獨特的字符串替換它。那可行。 :d –