2017-07-24 59 views
-5

我讀取了String中html文件的內容。 html文件內部是包含這個部分的鏈接「s1 = some_user_elegance」。我想將some_user替換爲指定的用戶;另外,我不知道誰是"some_user"。它可以是任何人,但格式是相同的。替換給定字符串中的部分

編輯:找到解決方案

public void identifyS1(String s) { 
    String[] strings = s.split("\n"); 
    System.out.println(strings[28].substring(70, strings[28].length()).split(" ")[0].trim().replaceAll("\"", "")); 
} 

回報"s1=whatever_user_elegance"

我splited由新線的html文件,發現包含URL的任何行,其餘是容易的。好東西是html永遠不會改變....

+0

你可以參考https://www.w3schools.com/jsref/jsref_replace之間的任何東西。 asp – Akash

+0

你有沒有做過任何研究,比如閱讀[String]的文檔(http://docs.oracle.com/javase/7/docs/api/java/lang/String.html)? – RealSkeptic

+0

我投票結束這個問題作爲題外話,因爲非常簡單,當然有太多的答案在SO – jfun

回答

2

你必須找到具體的正則表達式來匹配,然後撥打replaceAll()。困難的部分是找到正確的表達式,將完美匹配您的數據。但是,看看下面的正則表達式,它將替換匹配s1=x_x_elegance

String html = "{all `\"s1=some_user_elegance\"` need to be " 
    + "replaced with `\"s1=john_davis_elegance\"`}"; 

System.out.println(html.replaceAll("s1=\\w+?_\\w+?_elegance", 
"\"s1=john_davis_elegance\"")); 

結果

{all `""s1=john_davis_elegance""` need to 
be replaced with `""s1=john_davis_elegance""`} 
+0

取代很簡單,問題是如何找到「s1 = xxxx_yyyy_elegance」 –

+0

是的,所以你應該用正則表達式來標記你的問題,並提供更多的輸入數據和預期輸出的例子。我提供了一個示例正則表達式,它有一個不情願的量詞,似乎工作。也許這可以成爲你的起點。 –

+0

@ђђђашћћ看看我提供的新正則表達式匹配您正在尋找的。 –