2016-02-11 47 views
0

當前我正在處理一個項目,並試圖查看哪種String方法最適合使用或如何處理此問題。我正在嘗試爲每個出現的特定字符串預先添加一個字符串。例如,我提取HTML和每個/img/image1.png我發現我想追加一個URL到它。如何搜索一個字符串並將其附加到Java中的每個事件中

但是,有些圖像已經像例如www.anylink.com/img/image2.png那樣不需要附加,但是在我拉的字符串中。我看着replaceAll()方法,但不知道這是否允許追加替換,也不知道是否需要正則表達式來搜索僅存在/img/(無url)的實例,而不是完整的URL,因爲只有本地託管映像要附加到。我正在尋找一些建議,因爲我不知道如何在研究之後開始編寫代碼。

謝謝。

+0

你實際上意味着預先準備?因爲在*'/ img/image1.png'('/ img/image1.pngwww.example.com')之後添加url *沒有什麼意義。 如果圖片的格式爲'src =「/ img/image1.png」',那麼你可以替換爲'「/ img /' –

+0

@Henri Viik我的意思是預先安排,我很抱歉。我不能簡單地做到這一點,因爲一些圖片已經有了url/img/image1.png,有些則沒有。這會錯誤地影響那些已經有url urlURl/img/imag1.png wouldn' t? – user3034262

+1

http://jsoup.org/cookbook/extracting-data/working-with-urls – Pshemo

回答

0

我認爲String中的方法replaceAll()足以滿足您的需求。

你只需要寫出正確的正則表達式。

如果你寫了一些例子,我可以建議正則表達式。

例如像:

System.out.println("<div><img src=\"/test/this.png\" /></div>".replaceAll("src=\"/(.*)\"", "src=\"www.google.com$1\"")); 
+0

事情是字符串有很多不同的HTML像這樣應該仍然工作正確嗎?因爲我會解析通過許多在該字符串.Also ,我試圖學習正則表達式atm只去t通過/img/image1.png(所以基本上沒有在他們之前的網址)。這將使用正則表達式嗎?另外,我會在今晚寫一些例子。我應該在這裏回覆還是發一個新帖子?非常感謝您的參與。 – user3034262

+0

好的。我的解決方案適用於小型html。如果你需要解析一個大頁面,你應該使用一個html解析器。 –

+0

replaceAll的唯一問題是您需要將所有html加載到一個字符串中。除非你能夠讀取頁面的塊。 –

相關問題