2012-01-18 13 views
0

私は著作権から年を削除する必要があります。著作権は、次の形式で指定できます著作権を削除する正規表現

私は4桁の著作権を削除し、唯一の企業になるだろうどのように
2011 Company --> 'Company' 
Company 2011 --> 'Company' 
2011 1 Company 2 --> '1 Company 2' 
1 Company 2 1944 --> '1 Company 2' 

(会社の名前に数字を含むことができることに注意してください)。

これまで私は[0-9] {4}を試しましたが、再検索にそれを形成するのに問題がありました。

>>> a=re.search('[0-9]{4}',a) 
>>> a 
<_sre.SRE_Match object at 0x10527b780> 
>>> a.match(0) 
>>> AttributeError: match 
+0

社名と番号の間に2がある場合は、他に何がありますか?改行?正規表現を実行する前に会社名を知っていますか? 「それは1900年から2020年の間になるだろうか? – FakeRainBrigand

答えて

1

この

>>> import re 
>>> s = '2011 Company' 
>>> removed = re.sub('(^\d{4})|(\d{4}$)','',s).strip() 
>>> print removed 
0
\d{4} 

を試してみては4桁を意味するか、空白を削除するために、次のように書くことができます。

\s*\d{4}\s* 

は何をしたい、このですか?

1
import re 

def removeYear(inputStr): 
    pattern1 = re.compile(r'^\d{4,4}\ (.*)') 
    outputStr = re.sub(pattern1, r"\1", inputStr) 

    pattern2 = re.compile(r'(.*)\ \d{4,4}$') 
    fixedStr = re.sub(pattern2, r"\1", outputStr) 
    print '-->'+ fixedStr 

if __name__ == '__main__': 
    removeYear('2011 Company') 
    removeYear('Company 2011') 
    removeYear('2011 1 Company 2') 
    removeYear('1 Company 2 1944') 
関連する問題