在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