python - 如何从句子中删除数字和长度小于 2 的单词?

标签 python regex

我正在尝试删除长度低于 2 的单词和任何数字单词。例如

 s = " This is a test 1212 test2"
所需的输出是
" This is test test2"
我试过 \w{2,}这会删除所有长度小于 2 的单词。当我添加 \D+ 时当我不想从 test2 中删除 2 时,这会删除所有数字.

最佳答案

您可以使用:

s = re.sub(r'\b(?:\d+|\w)\b\s*', '', s)
RegEx Demo
图案详情:
  • \b : 匹配词边界
  • (?:\d+|\w) : 匹配单个单词字符或 1+ 个数字
  • \b : 匹配词边界
  • \s* : 匹配 0 个或多个空格
  • 关于python - 如何从句子中删除数字和长度小于 2 的单词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64359016/

    相关文章:

    regex - 如何在 awk 中使用带空格的 Sed

    javascript - String.replace(Regex) 返回未定义

    java - 如何用 Math Ml 标签包围数字?

    python - sqlite3 : multiple updates in one transaction

    python - Django 在 stdimage 处理图像之前修改图像

    python - 从 webdriver 中提取更多信息

    regex - 希望正则表达式可以做到这一点。修复损坏的 XML

    Java Matcher.find $ 在单行模式下匹配换行符

    python - 如何使用 pandas 替换单个值中的多个字符?

    python - django 模型保存 - 覆盖迁移期间未调用的方法