Как удалить этот специальный символ? - PullRequest
12 голосов
/ 22 июля 2011

Я пытался объединить строки в моем файле, когда заметил следующее:

слово1 слово2
слово1 слово2

Я не понял, почему эти строки не были объединены, поэтому я открыл файл в vim и использовал :set list, чтобы посмотреть, есть ли какие-нибудь специальные символы, и нашел это:

 word1 <feff>word2
 word1 word2

Я не уверен, как очистить это слово в Python. Любые предложения о том, какой персонаж может быть и как это можно убрать?

Ответы [ 2 ]

25 голосов
/ 22 июля 2011

U + FEFF - это символ Порядок следования байтов , который должен встречаться только в начале документа. В документах это следует рассматривать как 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 голос
/ 22 июля 2011

Вы пробовали mytext.split(string.whitespace)?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...