在java中拆分单词时遇到问题
我有以下字符串:在java中拆分单词时遇到问题,java,regex,string,Java,Regex,String,我有以下字符串: String text = "stack Overflow, stack" 字符: char c = "*" 和另一个字符串: String word = "Overflow" 整个想法是检查文本字符串中的单词“overflow”,并用char c将其包围起来。输出应如下所示: "stack *Overflow*, stack" 首先,为了解决这个问题,我考虑将字符串拆分为单词,然后检查每个单词是否包含所需的字符串作为其自身的子字符串。然后创建一个stringBuild
String text = "stack Overflow, stack"
字符:
char c = "*"
和另一个字符串:
String word = "Overflow"
整个想法是检查文本字符串中的单词“overflow”,并用char c将其包围起来。输出应如下所示:
"stack *Overflow*, stack"
首先,为了解决这个问题,我考虑将字符串拆分为单词,然后检查每个单词是否包含所需的字符串作为其自身的子字符串。然后创建一个stringBuilder,并在单词的每一端附加字符。我没有错误,但输出错误:
"stack *Overflow,* stack
有没有关于如何正确解决这个问题的帮助?这应该可以解决问题
text = text.replace(word, c + word + c);
您可以使用:
String text = "stack Overflow, stack";
char c = '*';
String repl = text.replaceAll("\\b(Overflow)\\b", c + "$1" + c);
//=> stack *Overflow*, stack