如何删除这个特殊字符?

时间:2011-07-22 06:54:30

标签: python string

当我观察以下内容时,我试图统一文件中的行:

word1 word2
word1 word2

我不明白为什么这些行没有合并所以我在vim中打开文件并使用:set list查看是否有任何特殊字符,我发现了这个:

 word1 <feff>word2
 word1 word2

我不确定如何在Python中清除这个单词。关于什么角色可能是什么以及如何清理它的任何建议?

2 个答案:

答案 0 :(得分:25)

U + FEFF是Byte Order Mark字符,只能出现在文档的开头。在文档it should be treated as a ZERO WIDTH NON-BREAKING SPACE中。如果这会导致问题,您可以像删除任何其他字符一样将其删除:

>>> s = u'word1 \ufeffword2'
>>> s = s.replace(u'\ufeff', '')
>>> s
u'word1 word2'

(在Python 3.1或3.2中,将u放在字符串前面)

答案 1 :(得分:1)

您是否尝试过mytext.split(string.whitespace)