我想从一个非常大的文本中删除任何出现的“is happy”句子,忽略大小写。以下是一些大文本句子:
“她很高兴。我喜欢这样。”
“他快乐的儿子”
“他一整天都很开心”
“塔莎很高兴”
“选择以下选项之一:悲伤 - 快乐 - 哭泣”
我的初始代码是:
String largeText = "...."; // The very large text here.
String removeText = "is happy";
largeText = largeText.replaceAll( "(?i)" + removeText , "" );
这段代码可以很好地处理第 1、3、4、5 句。但我不想从第 2 句中删除它,因为它有另一个含义。 我该怎么做?
最佳答案
在模式周围使用 \b
来检测单词边界。即:
String largeText = "...."; // The very large text here.
String removeText = "is happy";
largeText = largeText.replaceAll( "(?i)\\b" + removeText + "\\b" , "" );
关于Java逻辑代码-从字符串中删除一些文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4522176/