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

Jay*_*oot 2 python unicode encoding latin1

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

dateRange = 'September\xa04,\xa01978 – September 1980'
Run Code Online (Sandbox Code Playgroud)

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

dateRange = dateRange.replace(u'\xa0', u' ')
Run Code Online (Sandbox Code Playgroud)

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

当我调用split()时如下:

print(dateRange.split('-'))
Run Code Online (Sandbox Code Playgroud)

输出如下:

['September\xa04,\xa01978 – September 1980']
Run Code Online (Sandbox Code Playgroud)

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

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

编辑:

我已经尝试了以下无济于事:

dateRange.split('\-')
Run Code Online (Sandbox Code Playgroud)

R. *_*des 5

那不是连字符.那是U + 2013ᴇɴᴅᴀsʜ.

只需将其复制并粘贴到拆分调用中即可:

dateRange.split('–')
Run Code Online (Sandbox Code Playgroud)

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