Я разбираю несколько файлов XML с помощью Python 2.7, есть несколько строк: string ="[2,3,13,37–41,43,44,46]"
. Я разделил их, чтобы получить список всех элементов, а затем я должен обнаружить элементы с «-» как «37-41», но оказывается, что это не обычный тире, это не-ASCII-символ:Как обнаружить символ не ASCII в Python?
elements = [u'2', u'3', u'13', u'37\u201341', u'43', u'44', u'46']
Так что мне нужно что-то вроде
for e in elements:
if "–" in e:
# do something about it
Если использование, что не-ASCII символ в этом случае выражение, то я получаю сообщение об ошибке: "SyntaxError: Non-ASCII character '\xe2' in file..."
.
Я попытался заменить выражение if
этим методом Re:
re.search('\xe2', e)
, но это не тот случай снова. Поэтому я ищу способ конвертировать этот символ без ASCII в обычный ASCII «-» или использовать номер ASCII непосредственно в выражении поиска.
Элементы, содержащие только штрихи и цифры не-ascii? – EbraHim
@EbraHim да. Я хочу обнаружить такие элементы, как 37-41, поэтому я могу расширить их, чтобы они были похожими на 37 38 39 40 41. Я могу сделать вторую часть легко, но у меня проблема с символом не-ascii. – sheshkovsky
Python 2 или Python 3? ASCII-символы (0-127), или вы включаете ISO Latin 1 (0-255)? – cdarke