在正则表达式中提取文本

时间:2017-08-06 22:01:58

标签: java regex

我有csv格式的文字,如下所示。

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

请帮助我获取正则表达式以提取上述文本

hello,are,,,,you

基本上我只想在上面的键值对中取值,并保持逗号不变(从技术上来说,构建一个完美的csv)

注意:我实际上是在寻找一个纯正的正则表达式,而不是java函数。请使用。

谢谢

1 个答案:

答案 0 :(得分: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 ()