python特殊字母,修复字符串

时间:2018-02-18 19:30:42

标签: python string utf-8 string-length

不重复

我认为这不是this question的重复。答案说如何解决python 2中的问题,并且它不应该出现在python 3中。另外,答案提供不适合我:

>>"ć́".decode()
AttributeError: 'str' object has no attribute 'decode'

>>len(u"ć́")
2

原始问题:

我正在从网站导入图书数据,然后进行处理。最初的步骤之一是使用某个字符串长度的某些东西。不幸的是,当包含异常的“字符”时,len()函数有时会返回false值:

>>len("Krste Asanović́ ... [et al.].")
29
>>ord("ć́")
TypeError: ord() expected a character, but string of length 2 found

这里的“ć”不是标准字符,如果我用普通的“c”替换它,我会得到不同的结果。

>>len("Krste Asanovic ... [et al.].")
28

我当然可以使用replace()解决问题:

>>"Krste Asanović́ ... [et al.].".replace("ć́","c")
'Krste Asanovic ... [et al.].'

但是,有没有办法首先“禁止”奇怪的字母?

修改

>>list("ć́")
['ć', '́']

我正在使用python3.6

编辑2

此...

>>"ć́".replace("´","")
"ć́"

什么也没做。

0 个答案:

没有答案