我的問題聽起來很愚蠢,但是有些東西不適用於python 3.x和re.sub?因爲這個簡單的代碼似乎是錯誤的,它不會在我的控制檯上打印'(026)660 68 21'。有人能幫我嗎?re.sub在python中無法正常工作
import re
word = "Tél : (026) 660 68 21"
w = re.sub("Tél : ", "", word, count=1)
print(w)
我的問題聽起來很愚蠢,但是有些東西不適用於python 3.x和re.sub?因爲這個簡單的代碼似乎是錯誤的,它不會在我的控制檯上打印'(026)660 68 21'。有人能幫我嗎?re.sub在python中無法正常工作
import re
word = "Tél : (026) 660 68 21"
w = re.sub("Tél : ", "", word, count=1)
print(w)
我無法用您的問題中的代碼重現問題。
但你看到的可能發生,例如,如果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'
作品在我的控制檯上。 Python 3.4.3,Ubuntu Kylin。 –
嘗試在非Unicode字符上進行測試're.sub(「6」,「」,word,count = 1)「會給你帶來什麼? –
你爲什麼首先使用re.sub? 'w = word.replace(「Tél:」,「」))'。此外,如果子工作不正常,您最有可能遇到編碼問題 –