我需要删除版权年份。版权可以采用以下形式:
2011 Company --> 'Company'
Company 2011 --> 'Company'
2011 1 Company 2 --> '1 Company 2'
1 Company 2 1944 --> '1 Company 2'
如何删除4位数版权并仅获取公司(请注意公司名称中可能包含数字)。
到目前为止,我已经尝试了[0-9] {4},但在重新搜索时遇到了麻烦。
>>> a=re.search('[0-9]{4}',a)
>>> a
<_sre.SRE_Match object at 0x10527b780>
>>> a.match(0)
>>> AttributeError: match
答案 0 :(得分:1)
试试这个
>>> import re
>>> s = '2011 Company'
>>> removed = re.sub('(^\d{4})|(\d{4}$)','',s).strip()
>>> print removed
答案 1 :(得分: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')
答案 2 :(得分:0)
\d{4}
表示4位数,或者您可以这样写以修剪空格:
\s*\d{4}\s*
这是你想要的吗?