java - 删除包含表达式的单词?

标签 java regex string

我希望删除任何包含“油”的词。我以为 \b 捕获任何包含“油”的词,但似乎只替换了这个词本身:

String str = "foil boil oil toil hello";
str = str.replaceAll("\\boil\\b", "");

输出:

foil boil toil hello

期望的输出:

hello

最佳答案

简单匹配前缀和后缀[a-z]*!

匹配(和替换):

/ ?[a-z]*oil[a-z]* ?/

View an online regex demo.

关于java - 删除包含表达式的单词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25098416/

相关文章:

php - 将数组项合并到字符串中

java - 将图形数据转换为 Json

java - Java 中有类似 find_if 的东西吗?

java - Android 应用程序请求 WCF 服务(SerializationException - utf-8 相关)

regex - FreeBSD Bash - 无法使用正则表达式编写条件

正则表达式,用于匹配9-23位数字,中间有任意数量的空格或破折号

.Net 正则表达式 - 正向前瞻不起作用

c - 从 C 中的变量构建字符串

java - 如何从 StringTokenizer 获取分隔符?

java - ISO 8601 字符串到 Android 中的日期/时间对象