【发布时间】:2017-06-23 07:26:43
【问题描述】:
我正在尝试删除字符串中的所有单个字符
输入:“这是一辆大车,座位很宽敞”
我的输出应该是:
输出:“这辆车很大,座位很宽敞”
这里我用的是表达式
import re
re.compile('\b(?<=)[a-z](?=)\b')
这与字符串中的第一个单个字符匹配...
任何帮助将不胜感激......提前致谢
【问题讨论】:
-
lookarounds 在这里看起来是多余的,因为它们匹配一个空模式并且总是返回 true。您是否使用
re.sub的模式?re.sub(r'\b[a-zA-Z]\b', '', s)应该在一定程度上移除 all 单字母单词 -
没有正则表达式
' '.join(word for word in strng.split(' ') if len(word) > 1) -
@Chris_Rands:例如,这也会删除单个数字。
-
@Chris_Rands:它还删除了孤立的标点符号。
-
@WiktorStribiżew 从OP的问题中不清楚,当然
islpha()或isdigit()等检查是可能的