<分区>
我正在尝试从字符串中删除长度小于 4 的单词。
我使用这个正则表达式:
re.sub(' \w{1,3} ', ' ', c)
虽然这会删除一些字符串,但是当 2-3 个长度小于 4 的单词同时出现时它会失败。喜欢:
I am in a bank.
它给了我:
I in bank.
如何解决?
<分区>
我正在尝试从字符串中删除长度小于 4 的单词。
我使用这个正则表达式:
re.sub(' \w{1,3} ', ' ', c)
虽然这会删除一些字符串,但是当 2-3 个长度小于 4 的单词同时出现时它会失败。喜欢:
I am in a bank.
它给了我:
I in bank.
如何解决?
最佳答案
不要包含空格;使用 \b
词边界 anchor 代替:
re.sub(r'\b\w{1,3}\b', '', c)
这会完全删除最多 3 个字符的单词:
>>> import re
>>> re.sub(r'\b\w{1,3}\b', '', 'The quick brown fox jumps over the lazy dog')
' quick brown jumps over lazy '
>>> re.sub(r'\b\w{1,3}\b', '', 'I am in a bank.')
' bank.'
关于python - 从字符串中删除长度小于 4 的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24332025/
相关文章:
python - ValueError : Units 'M' and 'Y' are no longer supported, 因为它们不代表明确的 timedelta 值持续时间
python - 我可以在记录时设置为 gevent greenlet 显示的自定义名称吗?
javascript - 使用正则表达式删除分隔符周围的尾随和前导空格
asp.net-mvc - ASP.NET MVC - 动态正则表达式验证器
python - 模块未找到错误: No module named 'application' when deploying Flask app on AWS Elastic Beanstalk