我似乎無法替代'''或'('而不會導致其他字符串中的錯誤。 ')'和'('是特殊字符。這裏有兩個字符串「sample(志信達).mbox」和「sample#宋安興.mbox」。如果我用re替換字符,漢字也會受到替換。這裏是在Python代碼:中文字符未被python字符串替換的特殊字符
# -*- coding: utf-8 -*-
import re
source1='sample(志信達).mbox'
source2='sample#宋安興.mbox'
newname1=re.sub(r'[\(\);)(]','-',source1)
newname2=re.sub(r'[\(\);)(]','-',source2)
print source1,newname1
print source2,newname2
下面是結果: '? - '
sample(志信達).mbox sample---志信達---.mbox
sample#宋安興.mbox sample#宋?-興.mbox
注意的人物之一,被替換
[如何在Python中搜索和替換utf-8特殊字符?](http://stackoverflow.com/questions/2054746/how-to-search-and-replace-utf-8-special-字符在Python中) – alfasin 2015-02-07 18:21:31
每個中文字符在UTF-8中表示爲3個字節,因此它被替換爲3' - ' – 2015-02-07 18:22:17