我想从很大的文本中删除所有出现的“很高兴”句子,而忽略大小写。这是一些大文本句子:


“她很高兴。我喜欢。”
“他快乐的儿子”
“他整天都很开心”
“塔莎很高兴”
“选择以下选项之一:悲伤-快乐-哭泣”


我的初始代码是:

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" , "" );

10-08 19:23