2016-04-27 68 views
2

我有以下字符串:應用re.sub日文字符

s = u'アガサ・クリスティー 奧さまは名探偵 ~パディントン発4時50分~(字幕版)' 

然而,當我試圖擺脫後的字符,一切的,它不匹配:

>>> print re.sub(r'\(.+$', '', s) 
アガサ・クリスティー 奧さまは名探偵 ~パディントン発4時50分~(字幕版) 

我該如何獲得字符串只是:

アガサ・クリスティー 奧さまは名探偵 ~パディントン発4時50分~ 

回答

2

您應該確保所有參數爲re.sub()的是同一類型 - strunicode。試試這個:

# encoding: utf-8 

import re 
s = u'アガサ・クリスティー 奧さまは名探偵 ~パディントン発4時50分~(字幕版)' 
print re.sub(ur'\(.+$', u'', s) 
+0

謝謝。這解決了這個問題。 – David542

+0

也適用,如果你這樣做:'re.sub(u'(。* $','',s)'。 – Quinn

+0

確實如此,@ ccf,但是如果你做了're.sub(ur'\(。+ $','()',s)'',它就不起作用。所以我'unicode' - 如果所有的參數,以防萬一。 –