Java逻辑代码-从字符串中删除一些文本

标签 java replaceall

我想从一个非常大的文本中删除任何出现的“is happy”句子,忽略大小写。以下是一些大文本句子:

  1. “她很高兴。我喜欢这样。”

  2. “他快乐的儿子”

  3. “他一整天都很开心”

  4. “塔莎很高兴”

  5. “选择以下选项之一:悲伤 - 快乐 - 哭泣”

我的初始代码是:

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/

相关文章:

Java : Replace \"with " and\/with/

java - 字符串replaceALL与匹配前后字母的条件

java.lang.reflect.InvocationTargetException : null 异常

java - 在 JOptionPane 中使用 HTML 标签

java - 如何更有效地对单个字符串调用replaceAll两次

java - Java 中的 StringObject.ReplaceAll 方法中自动删除“\”

java - java中用正则表达式表示回车和引号

java - 在 Java 中在用户的 PATH 上执行程序

java - Spring Data elasticsearch @Query 注解嵌套对象

java - 我想将聊天窗口/选项集成到我的网络应用程序中。我从哪说起呢?