2015-10-22 31 views
0

,我有以下兩段文字:如何解析字符串給予一定的一段文字

/explanation/NodeExplanations/NodeExplanation[ID='/Temporary/EIC/EICWorksheetPP/Line2Sum']/ExplanationText

/explanation/NodeExplanations/NodeExplanation[ID='/Return/ReturnData/Summation/Line2Sum']/ExplanationText

如何可以解析這個給我剛:

/Temporary/EIC/EICWorksheetPP/Line2Sum

/Return/ReturnData/Summation/Line2Sum

這怎麼能在Java中完成? 我可以使用正則表達式,xpath,String表達式或任何其他最有效的方法。任何幫助或援助將不勝感激。

+1

wawek顯示了一種可能性。試圖在正則表達式中介紹自己。 –

+0

@StefanBeike這個問題看起來像是一個正則表達式解決方案的好候選者 – mosawi

+1

正則表達式看起來像這樣:[Regex101 Example](https://regex101.com/r/qO8nD1/1) – benjamin

回答

2

如果字符串有那麼些格式,那麼你可以簡單地實現這一點:

String s = "/explanation/NodeExplanations/NodeExplanation[ID='/Temporary/EIC/EICWorksheetPP/Line2Sum']/ExplanationText"; 
System.out.println(s.substring(s.indexOf("[ID='")+5, s.indexOf("']"))); 
+0

工作正常像一個魅力!謝謝。問題是什麼'5'?我想知道你在這裏做了什麼 – mosawi

+1

嘗試執行它沒有5,你會發現;)它只是代表'[ID =''長度的數字 - 我們不想在獲取子字符串。 – wawek

+0

Ahhh我現在看到了 – mosawi