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

Python 无法拆分看似已编码的字符串,python,unicode,encoding,latin1,Python,Unicode,Encoding,Latin1,在解析web请求中的数据时,我遇到了以下字符串- dateRange = 'September\xa04,\xa01978 – September 1980' 提取字符串的编码似乎是拉丁语-1(基于\xa0)。我通过用空格替换代码来解决这个问题 dateRange = dateRange.replace(u'\xa0', u' ') 放在一边,我不能拆分连字符(-)上的字符串 当我调用split()时,如下所示: print(dateRange.split('-')) ['Septembe

在解析web请求中的数据时,我遇到了以下字符串-

dateRange = 'September\xa04,\xa01978 – September 1980'
提取字符串的编码似乎是拉丁语-1(基于
\xa0
)。我通过用空格替换代码来解决这个问题

dateRange = dateRange.replace(u'\xa0', u' ')
放在一边,我不能拆分连字符(-)上的字符串

当我调用split()时,如下所示:

print(dateRange.split('-'))
['September\xa04,\xa01978 – September 1980']
结果如下:

print(dateRange.split('-'))
['September\xa04,\xa01978 – September 1980']
这就像字符串中没有连字符一样。 我感觉它与编码有关,但我似乎无法准确理解这个问题

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

编辑:

我已经尝试了以下方法,但没有效果:

dateRange.split('\-')
那不是一个好主意。这是一个很好的例子

只需将其复制并粘贴到拆分通话中:

dateRange.split('–')

或者,您可以用实际的连字符替换它。确保将en破折号复制并粘贴到replace调用中:)

–(日期范围中的字符)和–要拆分的字符看起来不一样。假设您已经准确地粘贴了它们,那么您就有了不同的字符:––如果您要在源代码中使用文本Unicode,请记住声明源文件
coding=
;请看,我使用的unicode文本如下-
dateRange.split(u'\u2013')
。它成功了。@msw-谢谢你的指点。我也采纳了你的建议。