从java中的字符串中删除所有字母数字单词

时间:2017-02-12 06:17:06

标签: regex

如何查找正则表达式以从字符串中删除所有字母数字单词?

以下是我尝试过的失败:

假设我的字符串是:String mystring ="the food was thrill4 not2 that good 6son";

    mystring = mystring.replaceAll("[0-9A-Za-z]","");

但它不起作用。

预期结果应为: “食物很好吃”

2 个答案:

答案 0 :(得分:1)

试试这个:

\w*\d+\w*\s*

Demo

详细说明:

  • \w* - 以0或更多字词开头
  • 开头
  • \d+ - 一个或多个数字
  • \w* - 以0个或多个字词结尾
  • 结束
  • \s* - 在单词
  • 后匹配零个或多个空格

答案 1 :(得分:1)

您的代码在字符级别运行,而不是在单词上运行。使用\b匹配字边界,然后匹配它们之间的内容。

mystring.replaceAll("\\b([a-zA-Z]*[0-9]+[a-zA-Z]*)\\b", "");