删除java中单词和特殊字符之间的字符串内容

时间:2015-05-07 12:17:29

标签: java regex string

我有一个像这样的字符串 -

['name' {d763e18f-1719-480b-bcd6-8fea7bad894e} Parameter, 'class' {8471633e-4a54-4c86-bd2b-56d58baf2fbb} Parameter, 'id' {23471633e-4a54-4c86-bd2b-56d58baf2fbb} Parameter]

我想要以下结果 -

['name' , 'class' , 'id']

引号'',中的字词之间的所有内容都应删除。

我如何实现这一目标? 谢谢!

3 个答案:

答案 0 :(得分:2)

您可以使用以下内容进行匹配:

('\w+'\s*).*?(?=[,\]])

并替换为$1

java中的正则表达式为('\\w+'\\s*).*?(?=[,\\]])

请参阅DEMO

答案 1 :(得分:1)

您可以使用此正则表达式。

('\w+'\s*).*?(?=[,\]])

答案 2 :(得分:0)

试试这个

Matcher m = Pattern.compile("'.+?'").matcher(str);
StringBuilder sb = new StringBuilder();
while(m.find()) {
    if (sb.length() > 0) {
        sb.append(',');
    }
    sb.append(m.group());
}
String res = sb.toString();