2017-08-06 61 views
1

我有像下面這樣的csv格式的文本。在正則表達式中提取文本

hi="hello",how="are",,,you="",thank="you" 

請幫我得到一個正則表達式來提取上述文字

hello,are,,,,you 

基本上我想只取值在上面的鍵值對,並保持逗號,因爲它們是(在技術上框架一個完美的csv)

注:我實際上是在尋找一個純正則表達式,而不是Java功能..請。

謝謝

+0

模式我的文字在哪裏? – QuakeCore

+0

對不起,但你爲什麼要尋找一個「純正規表達式」?如果你有一些條件需要使用一個正則表達式,請解釋一下這個條件是什麼。大多數提問這樣的問題的海報人員真的沒有理由想要正則表達式 - 他們認爲正則表達式是一種可以解決任何問題的魔法野獸。在很多情況下,使用java函數是最好的方法。所以你需要一個很好的解釋你爲什麼不需要java函數。 – ajb

+0

嘗試'text.replaceAll(「\\ w + = \」(。*?)\「」,「$ 1」)'。 – saka1029

回答

1

所以從你的句子開始:

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()