2013-10-21 40 views
0

我有一個HTML內容的形式String。字符串中有很多超鏈接。我怎樣才能刪除字符串中的第一個鏈接?請指導我。如何在java中刪除字符串中第一次出現的子字符串?

String html = "abcdef<a href=some dynamic url>link1</a>ghijkl<a href=some url>link2</a>mnopq<a href=some url>link3</a>"; 

我想從上面的字符串中刪除「link1」以及引用url。

+2

使用[HTML parser](http://nekohtml.sourceforge.net/)。 – Maroun

+0

如果問題是'首次發生'部分 - [replaceFirst](http://docs.oracle.com/javase/7/docs/api/java/lang/String.html#replaceFirst(java.lang.String, %20java.lang.String))。但是,請向我們展示解決問題的嘗試。 – Dukeling

+0

閱讀本文http://stackoverflow.com/a/1732454/892914 – jnovacho

回答

2

我會做類似

String matchATag="<a[^>]*>([^<]+)</a>"; 
html=html.replaceFirst(matchATag,""); 
0

您可以嘗試用正則表達式的鏈接元素匹配,但是這是一個recipe for problems.

你最好的HTML解析器像NekoHTML,找到的第一個鏈接,然後將其取下。

0

對於html處理,我會建議jsoup(http://jsoup.org/)。您也可以在這個庫中指定替換行爲。

1

您可以使用正則表達式。例如:

html.replaceFirst("<a[^>]+>[^>]+</a>", ""); 
相關問題