![](/img/trans.png)
[英]how to replace string between two strings in java by reading a text file
[英]Replace String between 2 strings in Java
我正在尝试查找所有出现的字符串集,并在新值中替换它们之间的内容。 我已经尝试了在此站点上找到的所有Java / regex示例,但是都没有用。 该字符串的示例如下所示:
"TestValue 1 VARCHAR(10), TestValue2 FLOAT(126), TestValue3 FLOAT(135)"
我想查找并用53替换“ FLOAT(”和“)”之间的所有值,以便将上述字符串替换为:
"TestValue 1 VARCHAR(10), TestValue2 FLOAT(53), TestValue3 FLOAT(53)"
我该如何使用String.replaceAll?
我试过了replaceAll("FLOAT(.*?)", "53")
,它只是替换了FLOAT
所以字符串看起来像:
"TestValue 1 VARCHAR(10), TestValue2 53(126), TestValue3 53(135)"
您可以使用\\(
和\\)
转义文字括号,然后使用\\d+
匹配数字。 就像是,
String s = "TestValue1 VARCHAR(10), TestValue2 FLOAT(126), TestValue3 FLOAT(135)";
System.out.println(s.replaceAll("FLOAT\\(\\d+\\)", "FLOAT(53)"));
输出是(根据要求)
TestValue1 VARCHAR(10), TestValue2 FLOAT(53), TestValue3 FLOAT(53)
这要简单得多-您的替换是固定的(它不取决于匹配的文本)-您总是想用FLOAT(53)
替换
所以使用正则表达式
FLOAT\(\d+\)
和更换
FLOAT(53)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.