用于 Unicode 字符分割的 split 函数
我在下面的代码中无法分割unicode字符\u2013。
actualdata=metatry['content'].split("-")
print "^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"+actualdata[0]
dat=actualdata[0].split("\u2013")
print "^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"+dat[0]
productlist.append(dat[0])
输出中仍然保留了\u2013,即使它存在。希望有人能帮我解决这个问题。
2 个回答
1
metatry['content']
是一个 unicode 对象,而不是普通的字符串。所以你用 split
的时候会出错:
>>> s = u"Samsung Galaxy Note II \u2013 Latest Smartphone in India "
>>> s.split("\u2013")
[u'Samsung Galaxy Note II \u2013 Latest Smartphone in India ']
你需要用 unicode 字符 \u2013
来进行分割:
>>> s = u"Samsung Galaxy Note II \u2013 Latest Smartphone in India "
>>> s.split(u"\u2013")
[u'Samsung Galaxy Note II ', u' Latest Smartphone in India ']
顺便说一下:你提到你在使用 Beautiful Soup。Beautiful Soup 只使用 unicode 字符串。
2
试着在 '\u2013'
后面加上 'u'
,因为 metatry['content']
是一个 Unicode 字符串:
u"Samsung Galaxy Note II \u2013 Latest Smartphone in India ".split(u'\u2013')