无法拆分看似编码的字符串

时间:2013-04-19 12:14:00

标签: python unicode encoding latin1

在解析来自网络请求的数据时,我遇到了以下字符串 -

dateRange = 'September\xa04,\xa01978 – September 1980'

提取的字符串的编码似乎是Latin-1(基于\xa0)。我通过用空格替换代码来摆脱它。

dateRange = dateRange.replace(u'\xa0', u' ')

保持这一点,我不能在连字符( - )上分割字符串。

当我按如下方式调用split()时:

print(dateRange.split('-'))

输出如下:

['September\xa04,\xa01978 – September 1980']

就好像字符串中没有连字符一样。 我觉得它与编码有关,但我似乎无法完全理解这个问题。

那么,如何解决这个问题?

编辑:

我已经尝试过以下无效:

dateRange.split('\-')

1 个答案:

答案 0 :(得分:5)

那不是hyphen。那是U+2013 ᴇɴ ᴅᴀsʜ

只需复制&将其粘贴到您的拆分调用中:

dateRange.split('–')

或者,您可以用实际的连字符替换它。确保复制&将短划线粘贴到替换呼叫中:)