1
我有像下面這樣的csv格式的文本。在正則表達式中提取文本
hi="hello",how="are",,,you="",thank="you"
請幫我得到一個正則表達式來提取上述文字
hello,are,,,,you
基本上我想只取值在上面的鍵值對,並保持逗號,因爲它們是(在技術上框架一個完美的csv)
注:我實際上是在尋找一個純正則表達式,而不是Java功能..請。
謝謝
我有像下面這樣的csv格式的文本。在正則表達式中提取文本
hi="hello",how="are",,,you="",thank="you"
請幫我得到一個正則表達式來提取上述文字
hello,are,,,,you
基本上我想只取值在上面的鍵值對,並保持逗號,因爲它們是(在技術上框架一個完美的csv)
注:我實際上是在尋找一個純正則表達式,而不是Java功能..請。
謝謝
所以從你的句子開始:
String str = "hi=\"hello\",how=\"are\",,,you=\"\",thank=\"you\"";
您可以刪除的word="
所有出現和"
:
str = str.replaceAll("(\\w*=\"|\")", ""); //remove word=" OR "
另一種方式,這將趕上組key="value"
並用value
代替:
str = str.replaceAll("\\w+=\"(.*?)\"", "$1"); // $1 is the value catch in()
模式我的文字在哪裏? – QuakeCore
對不起,但你爲什麼要尋找一個「純正規表達式」?如果你有一些條件需要使用一個正則表達式,請解釋一下這個條件是什麼。大多數提問這樣的問題的海報人員真的沒有理由想要正則表達式 - 他們認爲正則表達式是一種可以解決任何問題的魔法野獸。在很多情況下,使用java函數是最好的方法。所以你需要一個很好的解釋你爲什麼不需要java函數。 – ajb
嘗試'text.replaceAll(「\\ w + = \」(。*?)\「」,「$ 1」)'。 – saka1029