gpt4 book ai didi

Python:使用正则表达式从字符串中删除\u200b

转载 作者:太空狗 更新时间:2023-10-30 00:49:16 26 4
gpt4 key购买 nike

我有一个网络抓取工具,可以收集论坛问题,将它们拆分成单独的单词并将其写入文本文件。单词存储在元组列表中。每个元组包含单词及其频率。像这样...

[(u'move', 3), (u'exploration', 4), (u'prediction', 21),
(u'find', 5), (u'user', 2), (u'interface', 2), (u'pleasant', 2),
(u'am', 11), (u'puzzled', 2), (u'find', 5), (u'way', 5),
(u'prediction', 21), (u'mode', 2), (u'have', 21),
(u'explored', 2), (u'file', 9), (u'Can', 7), (u'help', 6),
(u'Possible', 1), (u'bug', 2), (u'data', 31), (u'is', 17)

但是,论坛上有人使用了字符\u200b,这破坏了我所有的代码,因为该字符不再是 Unicode 空格。

(u'used\u200b', 1)

打印出来不会产生错误,但写入文本文件会产生错误。我发现 string.strip()string.replace() 没有帮助,所以我想知道如何使用正则表达式库来删除该字符。我计划解析整个元组列表以找到它。

最佳答案

我用 python 2.7 测试过。 replace 按预期工作:

>>> u'used\u200b'.replace(u'\u200b', '*')
u'used*'

剥离也是如此:

>>> u'used\u200b'.strip(u'\u200b')
u'used'

请记住,这些函数的参数必须是 Unicode 文字。它应该是 u'\u200b',而不是 '\u200b'。注意开头的 u

实际上,将该字符写入文件就可以了。

>>> import codecs
>>> f = codecs.open('a.txt', encoding='utf-8', mode='w')
>>> f.write(u'used\u200bZero')

查看资源:

关于Python:使用正则表达式从字符串中删除\u200b,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31522361/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com