パターン置換という言葉は適切ではないかもしれませんが、他に何と呼べばいいのかわかりません。「こんにちは私の名前は名前で、私は年齢です」などの文字列を取り、実用的に値を入力したいと思います。それを行うための最良の方法は何ですか(繰り返しますが、Pythonで)
質問する
144 次
4 に答える
3
文字列の書式設定が必要です。
次のような文字列から始めます。
s = 'Hi my name is {name} and I am {age} years old'
必要に応じて、メソッドを使用しstr.format
て「値を入力」できます。
>>> s.format(name='John', age=42)
Hi my name is John and I am 42 years old
{}
これが行うことは、中括弧 ( ) 内のものを指定されたマテリアルに置き換えることです。
この方法は、%
演算子を使用してフォーマットするよりも優先され、Python 3 の標準であることに注意してください。
于 2013-03-12T06:16:39.540 に答える
2
これを試して:
name, age = 'Art', 20
myStr = "hi my name is {0} and I am a {1} years old"
print myStr.format(name, age)
または:
myStr = "hi my name is %(name)s and I am a %(age)i years old"
print myStr % {'name': name, 'age': age}
または:
myStr = "hi my name is %s and I am a %i years old"
print myStr % (name, age)
于 2013-03-12T06:16:06.983 に答える
0
上記のすべての答えは効率的です。ここで、文字列 Templateを使用してメソッドを提供します。
from string import Template
s = Template("hi my name is ${name} and I am ${age} years old")
s.substitute(name='Bill', age=24)
# 'hi my name is Bill and I am 24 years old'
関連するメソッドsafe_substituteを使用することをお勧めします。詳細については、こちらを参照してください。
于 2013-03-12T06:36:53.587 に答える
0
Python re http://docs.python.org/2/library/re.htmlを見ることができます
>>> import re
>>> thing = "hi my name is placeholder"
>>> thing = re.sub("placeholder", "Fred", thing)
>>> thing
"hi my name is Fred"
于 2013-03-12T06:18:50.283 に答える