如何在python中的代码点上拆分unicode字符串? (例如,\ u00B7或\ u2022)?

时间:2011-12-03 14:52:28

标签: python unicode split points codepoint

我尝试了一切我能想到的......

1. unicode_obj.split('\u2022')
2. re.split(r'\u2022', unicode_object)
3. re.split(r'(?iu)\u2022', unicode_object)

没有任何效果

问题在于我想拆分特殊字符。

example string : u'<special char like middot:\u00b7 or bullet:\u2022> sdfhsdf <repeat special char> sdfjhdgndujhfsgkljng <repeat special char> ... etc'

请帮忙。

提前致谢。

1 个答案:

答案 0 :(得分:8)

考虑:

>>> print '\u2022'
\u2022
>>> print len('\u2022')
6
>>> import unicodedata
>>> map(unicodedata.name, '\u2022'.decode('ascii'))
['REVERSE SOLIDUS', 'LATIN SMALL LETTER U', 'DIGIT TWO', 'DIGIT ZERO', 'DIGIT TWO', 'DIGIT TWO']
>>> 

VS

>>> print u'\u2022'
•
>>> print len(u'\u2022')
1
>>> map(unicodedata.name, u'\u2022')
['BULLET']
>>> 

这应该使text.split('\u2022')text.split(u'\u2022')之间的区别明确。