a = '屠杀 massacre 4.167 6'
jie= a.split(' ')
res = re.findall('\d+\.?\d*|[a-zA-Z]+', a)
for item in res:
if item in jie:
jie.remove(item)
print(' '.join(jie))
上述方法太复杂,且限制条件太多,只允许出现数字,中文,英文,且以空格的方式分开。
现在直接用汉字的匹配规则进行匹配
content = """yingjie1111\n
222 . xyx ying 杰哥 ?
"""
pattern = re.compile(r'[\u4e00-\u9fa5]+')
result = pattern.findall(content)
print(result)
或者使用排除法,[^]去反的方式,去处数字\d, 字母a-zA-Z, 去除\.,去除?去除空格\s换行\n
content = """yingjie1111\n
222 . xyx ying 杰哥 ?
"""
# pattern = re.compile(r'[\u4e00-\u9fa5]+')
# result = pattern.findall(content)
# print(result)
result = re.findall('[^?A-Za-z\.\n0-9\s]+',content)
print(result)