3 回答

TA貢獻(xiàn)1818條經(jīng)驗(yàn) 獲得超7個(gè)贊
使用額外的{}
前任:
text = "I am going to ${location} for ${days}"
str_replacements = {
'location': 'earth',
'days': 100,
'vehicle': 'car',
}
for key, val in str_replacements.items():
str_to_replace = '${{{}}}'.format(key)
if str_to_replace in text:
text = text.replace(str_to_replace, str(val))
print(text)
# -> I am going to earth for 100

TA貢獻(xiàn)1780條經(jīng)驗(yàn) 獲得超1個(gè)贊
您可以使用一個(gè)小的正則表達(dá)式來代替:
import re
text = "I am going to ${location} for ${days} ${leave_me_alone}"
str_replacements = {
'location': 'earth',
'days': 100,
'vehicle': 'car',
}
rx = re.compile(r'\$\{([^{}]+)\}')
text = rx.sub(lambda m: str(str_replacements.get(m.group(1), m.group(0))), text)
print(text)
這會(huì)產(chǎn)生
I am going to earth for 100 ${leave_me_alone}

TA貢獻(xiàn)1906條經(jīng)驗(yàn) 獲得超3個(gè)贊
您可以通過兩種方式完成此操作:
參數(shù)化 - 不嚴(yán)格遵循參數(shù)的順序
非參數(shù)化 - 未嚴(yán)格遵循參數(shù)順序
示例如下:
添加回答
舉報(bào)