我在我的python脚本中定义了一个名为' details'如下所示。我想在它上面应用一些正则表达式,并将名为' sam'之间的$ {sub.name}替换为-n和-p之间的值。并且同样想用7467和80替换$ {sub.number}和$ {sub.marks}。我希望输出类似于: -
-n sam -p 7467 -m 80
即使经过很多努力,我仍然在努力应用正则表达式。有帮助吗?感谢
这是我的代码段: -
import re
details = "-n ${sub.name} -p ${sub.number} -m ${sub.marks}"
rep = re.sub(#apply regex)
答案 0 :(得分:0)
这是许多人的解决方案。 Python字符串格式化可以替换这些值,提供
results
变量{sub.name}
成为sam
以下是代码:
class Substitutions():
def __init__(self, **kwargs):
for key, value in kwargs.items():
setattr(self, key, value)
sub = Substitutions(name='sam', number=7467, marks=80)
details = '-n ${sub.name} -p ${sub.number} -m ${sub.marks}'
details = details.replace('${', '{') # Remove all the dollar signs
result = details.format(sub=sub)
print result