更换两个字符串比如我有一个文本文件正则表达式在同一行
Additional_Cost_utilities=(out.Utilities.Ener.Steam_cons.Value*0.056 + out.Utilities.Ener.Elec_cons.Value*0.09 + (STRING_NEW1*STRING_NEW2*0.003));
我需要一个正则表达式的一些新的字符串替换STRING_NEW1和STRING_NEW2的令牌这一行。我可以使用什么样的正则表达式,这样除了这两个字符串以外的其他行都不会被编辑?
编辑:每次要更换的字符串都不相同。所以我只是不能使用替换。一个稳定的正则表达式需要修改STRING_NEW1和STRING_NEW2令牌,而不管它们的内容是什么,它们是浮点数
我试图用来代替大编码部分的特定行中的字符串的代码如下。正则表达式需要识别要替换的字符串和标记。我希望这有助于
try {
Path path = Paths.get("read.m");
Charset charset = StandardCharsets.UTF_8;
String content = new String(Files.readAllBytes(path), charset);
content = content.replace("STRING_1_IN_THE_LINE", "new string1")
.replace("STRING_2_IN_THE_LINE", "new string2");
Files.write(path, content.getBytes(charset));
} catch (IOException e) {
//Simple exception handling, replace with what's necessary for your use case!
throw new RuntimeException("Generating file failed", e);
}
你能保证这些字符串不会出现在你的行其他地方吗?如果是这样,'someString.replace(“STRING_NEW1”,“foo”);'会做到这一点。 –
@Duncan Nope。他们每次都会改变。所以我需要一个稳定的正则表达式来使它们变化 – user3211165
那么字符串的其余部分呢?这有多少稳定? –