我的问题听起来很愚蠢,但有些东西不适用于python 3.x和re.sub吗?因为这个简单的代码似乎是错误的,它不会在我的控制台上打印'(026)660 68 21'。有人能帮助我吗?
import re
word = "Tél : (026) 660 68 21"
w = re.sub("Tél : ", "", word, count=1)
print(w)
答案 0 :(得分:1)
我无法使用您问题中的代码重现该问题。
但是你所看到的可能会发生,例如,如果e aigu字符的形式不同:
>>> word = "Tél : (026) 660 68 21"
>>> substring = "Tél : "
>>> re.sub(substring, "", word, count=1)
'Tél : (026) 660 68 21'
修复:
>>> from unicodedata import normalize
>>> def n(str_, form='NFC'):
return normalize(form, str_)
...
>>> re.sub(n(substring), "", n(word), count=1)
'(026) 660 68 21'