python-3.x - 在 python nlp 中删除狭窄的“无间断空格”Unicode 字符 (U+00A0)
问题描述
不间断空格打印为空白,但在内部处理为\xa0
. 如何一次删除所有这些字符?
到目前为止,我已经直接替换了它:
text = text.replace('\u202f','')
text = text.replace('\u200d','')
text = text.replace('\xa0','')
但是每次我从外部来源抓取文本句子时,这些字符都是不同的。如何一次全部删除?
解决方案
您可以改用正则表达式替换。
如果要替换所有空格,可以使用:
import re
text = re.sub(r'\s', '', text)
这包括所有 unicode 空格,如该问题的答案中所述。
从该答案中,您可以看到(在撰写本文时),\s
在 Python 正则表达式中识别为空格(例如 )的 unicode 常量是:
0x0009
0x000A
0x000B
0x000C
0x000D
0x001C
0x001D
0x001E
0x001F
0x0020
0x0085
0x00A0
0x1680
0x2000
0x2001
0x2002
0x2003
0x2004
0x2005
0x2006
0x2007
0x2008
0x2009
0x200A
0x2028
0x2029
0x202F
0x205F
0x3000
看起来这将满足您的需求。
推荐阅读
- jquery - 每次函数运行时,如何将文本从一个 div 移动到另一个?
- symfony-2.3 - Swiftmailer 电子邮件问题
- maven - maven依赖快照版本号与nexus快照版本号相差1秒
- python - ValueError:使用高斯分布函数进行归一化期间的比例 < 0
- javascript - 使用 fs 为 discord.js 制作灵活的文件路径阅读器?
- javascript - 生成用于渲染外部组件的 JSX
- javascript - 通过容器 div Id 获取 ag-grid 实例
- python - Pandas - 通过在另一个数据框中查找来替换值
- python-3.x - Azure:使用 GraphRbacManagementClient 和 ServicePrincipalCredentials 结果导致权限不足错误
- python-3.x - 在 Python 3 中加载 mnist 数据集时出错