Мне нужно указать год авторского права в начале строки. Вот возможные входные данные, которые я мог бы иметь:
(c) 2012 10 DC Comics
2012 DC Comics
10 DC Comics. 2012
10 DC Comics , (c) 2012.
10 DC Comics, Copyright 2012
Warner Bros, 2011
Stanford and Sons, Ltd. Inc. (C) 2011. All Rights Reserved.
...etc...
Из этих входных данных мне нужно всегда получать выходные данные в одном и том же формате -
2012. 10 DC Comics.
2011. Warner Bros.
2011. Stanford and Sons, Ltd. Inc. All Rights Reserved
etc...
Как бы я сделал это с комбинацией форматирования строк и регулярных выражений?
Это нужно почистить, но вот что я сейчас делаю:
### copyright
copyright = value_from_key(sd_wb, 'COPYRIGHT', n).strip()
m = re.search('[0-2][0-9][0-9][0-9]', copyright)
try:
year = m.group(0)
except AttributeError:
copyright=''
else:
copyright = year + ". " + copyright.replace(year,'')
copyright = copyright.rstrip('.').strip() + '.'
if copyright:
copyright=copyright.replace('\xc2\xa9 ','').replace('&', '&').replace('(c)','').replace('(C)','').replace('Copyright', '')
if not copyright.endswith('.'):
copyright = copyright + '.'
copyright = copyright.replace(' ', ' ')