私は次のような文字列を持っています
strTemp='i don\'t want %s repeat the %s variable again %s and again %s'%('aa','aa','aa','aa')
すべての%sを「aa」に置き換えたいので、「aa」を何度も繰り返す必要があります。すべての%sを同じ変数に置き換えたいことをプログラムに伝えるにはどうすればよいので、必要です。時間の変数を入力しない
私は次のような文字列を持っています
strTemp='i don\'t want %s repeat the %s variable again %s and again %s'%('aa','aa','aa','aa')
すべての%sを「aa」に置き換えたいので、「aa」を何度も繰り返す必要があります。すべての%sを同じ変数に置き換えたいことをプログラムに伝えるにはどうすればよいので、必要です。時間の変数を入力しない
%演算子は推奨されません。str.format
代わりに使用してください。
strTemp='i don\'t want {0} repeat the {0} variable again {0} and again {0}'.format('aa')
名前付きフォーマット引数構文を使用できます。
strTemp='i don\'t want %(key)s repeat the %(key)s variable again %(key)s and again %(key)s' % {
'key': 'replacement value',
}
キーを4回繰り返す必要があるため、必ずしもそれほど良くはありませんが、置換値が長い場合、または実際に2回以上実行したくない副作用のある計算である場合は、これは適切なオプションです。
非常に多くの繰り返しがあり、入力したくない場合、{0}
または%(var)s
めったに使用されない (placeholder-)char を検討することができます。これは置き換えられます。
p='µ µµ µµµ µµµµ µµµµµ {1}'.replace('µ','{0}').format(' muahaha ', 'duh')
または単一の置換変数の場合:
strTemp='i don\'t want µ repeat the µ variable again µ and again µ'.replace('µ','aa')