我有一个大型Python字符串,如下所示。
large_string = "The MIT License (MIT)\n\nCopyright (c) [year] [fullname]\n\nPermission is hereby granted, free of charge, to any person obtaining a ...."我希望将字符串中的“年份”替换为当前年份,并将“全名”替换为用户提供的名称。我正在使用python中的re库来完成这个任务。
import re
import datetime
def pattern_replace(large_string, name):
year = datetime.now().year
large_string = re.sub('\[year\]', str(year), large_string)
large_string = re.sub('\[fullname\]', name, large_string)
return large_string但我认为这样做不合适。我以前从未真正使用regex匹配,但我认为应该有更多的Pythonic方法来组合这两个re.sub语句。
发布于 2016-01-16 16:42:41
如果确保将字符串重写为使用{year}和{fullname},则可以使用.format()方法填充它们:
from datetime import datetime
def pattern_replace(large_string, name):
return large_string.format(
year=datetime.now().year,
name=name,
)https://stackoverflow.com/questions/34829286
复制相似问题