繁体   English   中英

使用String的ReplaceAll与正则表达式

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM