如何使用模式匹配替换子字符串

时间:2013-10-28 14:48:56

标签: java regex

我有一个文本文件,其中包含以下数据:

- data: {text: '=', name: '10', id: 316, row: 8, column: 1, width: 19, height: 1}

我想将'='替换为=,将'10'替换为10

我尝试过使用

Pattern p= Pattern.compile("\\w+:\\s\\'(.*)\\'"); 
matcher.group(1);

这给了我=', name: '10

但我需要=

我如何找到所有比赛?

3 个答案:

答案 0 :(得分:3)

  

I want to replace the '=' with = and '10' with 10

您可以这样做:

data = data.replaceAll("'([^']*)'", "$1");

从单引号中串起所有字符串。

OR make it more restrictive by replacing only 10 OR = only:

data = data.replaceAll("'(10|=)'", "$1");

答案 1 :(得分:1)

此处是否需要RegEx ?如果你要做的只是替换那些2,也许你应该尝试类似的东西:

string = string.replace("'", "");

我假设您要替换'中包含的所有值。

或者,如果您只想替换那两次出现,请随意尝试以下内容:

string = string.replace("'='", "=").replace("'10'", "10"); 

答案 2 :(得分:0)

实际上,你需要的东西非常简单:

    String change = "text: '=', name: '10', id: 316, row: 8, column: 1, width: 19, height: 1";
    String newString = change.replaceAll("'", "");