【发布时间】:2011-09-04 17:01:52
【问题描述】:
此代码将替换除单词之外的所有内容,但我如何让它保持数字和空格不变?例如“我直到 1 点才见到他。” -> “我直到 1 点才见到他”
text = regex.sub("\P{alpha}+","",text)
【问题讨论】:
标签: regex python-3.x
此代码将替换除单词之外的所有内容,但我如何让它保持数字和空格不变?例如“我直到 1 点才见到他。” -> “我直到 1 点才见到他”
text = regex.sub("\P{alpha}+","",text)
【问题讨论】:
标签: regex python-3.x
不要在 Unicode 上使用 Python 的 re 库。它工作得非常糟糕。请改用Matthew Barnett’s regex library。它工作得更好,更好。
它还可以在 Python 2 和 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}
【讨论】: