此代码将替换除单词之外的所有内容,但是如何获取它还可保持数字和空格不变?例如“我直到1时才看到他。” - > “我没有看到他,直到1”匹配除了文字,数字和空格以外的所有内容
text = regex.sub("\P{alpha}+","",text)
此代码将替换除单词之外的所有内容,但是如何获取它还可保持数字和空格不变?例如“我直到1时才看到他。” - > “我没有看到他,直到1”匹配除了文字,数字和空格以外的所有内容
text = regex.sub("\P{alpha}+","",text)
不要对Unicode的使用Python的re
库。它工作非常糟糕。改为使用Matthew Barnett’s regex
library。它工作得很好,好多了。
它也可以运行在Python 2和Python 3上,也可以运行在狭窄和广泛的版本上,但由于与该特定库基本无关的原因,我强烈建议您仅运行Python 3的广泛版本并且避开所有其他组合。
Python的正则表达式不支持Unicode属性。您可以尝试:
text = re.sub("[^a-zA-Z0-9 ]+","",text)
取而代之。如果你喜欢安装Ponyguruma有一些东西,你可以用:
text = re.sub("[\P{Alnum}\PZ]+","",text) # pZ is shorthand for p{Separator}
是的,但看到我的答案。 – tchrist