Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用模式匹配替换子字符串_Java_Regex - Fatal编程技术网

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

Java 如何使用模式匹配替换子字符串,java,regex,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); 这给了我=',名字:'10 但我需要得到= 如何找到所有匹配项?实际上,对于您需要的东西,它非常简单:

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

- 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);
这给了我=',名字:'10

但我需要得到=


如何找到所有匹配项?

实际上,对于您需要的东西,它非常简单:

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

实际上,对于您需要的东西,它非常简单:

    String change = "text: '=', name: '10', id: 316, row: 8, column: 1, width: 19, height: 1";
    String newString = change.replaceAll("'", "");
我想用=替换“=”,用10替换“10”

您可能可以:

data = data.replaceAll("'([^']*)'", "$1");
从单引号中选择所有字符串

或者通过仅替换10或=使其更具限制性:

我想用=替换“=”,用10替换“10”

您可能可以:

data = data.replaceAll("'([^']*)'", "$1");
从单引号中选择所有字符串

或者通过仅替换10或=使其更具限制性:

这里真的需要正则表达式吗?如果您所要做的只是替换这两个,那么您可能应该尝试以下操作:

string = string.replace("'", "");
string = string.replace("'='", "=").replace("'10'", "10"); 
我假设您希望替换包含在“”中的所有值

或者,如果您只想替换这两个实例,请尝试以下方法:

string = string.replace("'", "");
string = string.replace("'='", "=").replace("'10'", "10"); 
这里真的需要正则表达式吗?如果您所要做的只是替换这两个,那么您可能应该尝试以下操作:

string = string.replace("'", "");
string = string.replace("'='", "=").replace("'10'", "10"); 
我假设您希望替换包含在“”中的所有值

或者,如果您只想替换这两个实例,请尝试以下方法:

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

这很有帮助,但如果我有像对“libik”说text:message这样的文本,那么这不应该被替换。这很有帮助,但是如果我有像对“libik”说text:message这样的文本,那么这不应该被替换。这很有帮助,但是如果我有像对“Josh”说text:message这样的文本,那么这不应该被替换replaced@Raghav然后后一个解决方案字符串=字符串。替换“=”,=.替换'10',10;这是我正在使用的一个文本文件,我们不确定输入了什么数据,文件的范围在7到8之间mb@JoshM可以在包含“”的字符串中强制转义序列。这是已经做了一段时间的事情,由于实现的简单性,它可能是首选。这很有帮助,但如果我有像say text:message to'Josh'这样的文本,那么这就不应该了replaced@Raghav然后后一个解决方案字符串=string.replace'=',=.replace'10',10;这是我正在使用的一个文本文件,我们不确定输入了什么数据,文件的范围在7到8之间mb@JoshM可以在包含“”的字符串中强制转义序列。这是已经做了一段时间的事情,由于实现的简单性,它可能是首选。