![](/img/trans.png)
[英]Java Regex - Using String's replaceAll method to replace newlines
[英]Using String's ReplaceAll with regex
如何修复以下字符串组合:
字词1 =“单词2”
使用以下字符串组合:
WORD1 = “WORD3”
使用单词边界 \\b
。
我使用了以下,但没有奏效:
String word2 = "word2";
String word3 = "word3";
String oldLine = "word1=\"" + word2 + "\"";
String newLine = "word1=\"" + word3 + "\"";
String lineToReplace = "\\b" + oldLine + "\\b";
String changedCont = cont.replaceAll(lineToReplace, newLine);
其中cont
是一个包含很多字符的字符串 ,包括word1 =“word2” 字符串组合。
删除最后一个\\b
。 它不会做你的想法, "
不是一个字的性格。
String input = "alma word1=\"word2\"";
String replacement = "word1=\"word3\"";
String output = input.replaceAll("\\bword1=\\\"word2\\\"", replaceMent);
如果您用此替换lineToReplace
行:
String lineToReplace = "\\b" + oldLine + "(?!\\w)";
它应该按照你想要的方式工作。
你的字符串中有单词边界\\ b(“),你在正则表达式中使用单词边界。例如,删除最后一个\\ b。
你需要的唯一单词边界位于前面 - 你的匹配的其余部分已经内置了单词边界(引号等)。
这将有效:
cont.replaceAll("\\bword1=\"word2\"", "word1=\"word3\"");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.