每当看到编码差异时,如何遍历字符串并插入空格?例如,输入:Bar bar black sheep就是其中 famous 的一家club
应该产生以下输出:Bar bar black sheep 就是其中 famous 的一家 club
我已经尝试了以下方法,但是有一种更简单的方法可以进行以下操作吗?
# -*- coding: utf8 -*-
sentence = 'Bar bar black sheep就是其中 famous 的一家club'
currIsAscii = None
prevIsAscii = None
newsentence = ""
for i in sentence:
try:
i.decode('ascii')
currIsAscii = True
except:
currIsAscii = False
if prevIsAscii != currIsAscii:
newsentence+=" "
newsentence+=i
else:
newsentence+=i
prevIsAscii = currIsAscii
while " " in newsentence:
newsentence = newsentence.replace(" ", " ")
print newsentence.strip()
最佳答案
This是Ned Batchelder关于所有这些编码优点的相当不错的pycon谈话,它对我很有帮助,我希望对您也是如此。