Python 正在拆分包含\u的字符串
我知道ustring指的是Unicode。如果我没有弄错的话,这就是我遇到问题的地方。如果字符串中有“\u”,我无法找到最终帮助我将该字符串拆分为2个字符串的解决方案 我有一个字符串列表,用“,”分隔,其中第一部分是犯罪,第二部分是犯罪地点 例如:Python 正在拆分包含\u的字符串,python,string,unicode,split,Python,String,Unicode,Split,我知道ustring指的是Unicode。如果我没有弄错的话,这就是我遇到问题的地方。如果字符串中有“\u”,我无法找到最终帮助我将该字符串拆分为2个字符串的解决方案 我有一个字符串列表,用“,”分隔,其中第一部分是犯罪,第二部分是犯罪地点 例如: SHOPLIFT, NE MILL PL VANDALISM, 136TH AVE NE SUSPICIOUS CIRCUMSTANCES, GARDEN WAY MENTAL PROBLEMS, NE WOODINVILLE DUVAL
SHOPLIFT, NE MILL PL
VANDALISM, 136TH AVE NE
SUSPICIOUS CIRCUMSTANCES, GARDEN WAY
MENTAL PROBLEMS, NE WOODINVILLE DUVALL RD
TRESPASS – 19200 BLK 168TH AVE NE
当我使用data.split'时,我得到以下结果:
[u'SHOPLIFT', u' NE MILL PL ']
[u'VANDALISM', u' 136TH AVE NE ']
[u'SUSPICIOUS CIRCUMSTANCES', u' GARDEN WAY ']
[u'MENTAL PROBLEMS', u' NE WOODINVILLE DUVALL RD ']
[u'TRESPASS \u2013 19200 BLK 168TH AVE NE ']
正如您所看到的,split方法在前4项中运行良好。第五项:
[u'TRESPASS \u2013 19200 BLK 168TH AVE NE ']
就是我有问题的那个
如何拆分该项目,使其显示以下内容:
[u'TRESPASS', u'2013 19200 BLK 168TH AVE NE ']
拆分“-”也不起作用
TRESPASS – 19200 BLK 168TH AVE NE
给出以下错误:
'ascii' codec can't decode byte 0xe2 in position 0: ordinal not in range(128)
谢谢。您看到的\u2013告诉您这是unicode字符2013,正好是一个长破折号。您可以在原始打印字符串中看到主动变更之后。听起来像是要基于逗号或长破折号拆分字符串 一种解决方案是将长破折号转换为逗号,然后在逗号上拆分:
data.replace(u'\u2013',',').split(',')
第二种解决方案是使用re.split
欢迎来到SO。请校对并正确格式化您的问题和代码。谢谢您是否尝试过将\u替换为,u'?谢谢,Chris Curvey。我太专注于\u部分,以至于没有意识到我应该关注整个\u2013。非常感谢你的回答。你真的拯救了这一天。
import re
re.split(u"[\,\u2013]", data)