0

Python で文字列セグメントを他の文字列に非常に簡単に挿入する簡単な方法があることを学んだことを覚えていますが、それがどのように行われたかは覚えていません。たとえば、Python で HTML を編集していて、次のようになっているとします。

<html>
  <b>Hello, World!</b>
  <b>%</b>
</html>

では、この HTML コードが html という変数に格納されているとしましょう。ここで、このコードを操作して、2 番目の b タグの % の代わりに次の文字列「My name is Bob」を入力するとします。

私が話していることを知っている人がいたら、答えてください。それは私が使いたい本当にクールな機能です。ありがとうございました!

4

3 に答える 3

2

% と値のタプルを追加できます。

name = "Bob"
html = "Hello, %s" % (name)

または、プレースホルダーに名前を付けて辞書を使用します。

html = "Hello, %(name)s" % { name: name }

またはstr.format()を使用します

html = "Hello, {0}".format("name")

3 つの結果はすべて string になりますHello, Bob

このように文字列をバインドしないままにすることもできます

html = "Hello, %s" 

必要に応じてプレースホルダーをバインドします

print html
>>> Hello, %s
for name in ["John", "Bob", "Alice"]:
    print html % name
>>> Hello, John
>>> Hello, Bob
>>> Hello, Alice
于 2012-07-01T23:40:45.480 に答える
1
html='''<html>
  <b>Hello, World!</b>
  <b>%s</b>
</html>''' % "My name is Bob"

単純な文字列フォーマットです。以下を使用することもできます ({variable}複数の場所に挿入するために複数回使用できます)。

html='''<html>
  <b>Hello, World!</b>
  <b>{variable}</b>
</html>'''.format(variable="My name is Bob")

または、その中のすべての「%」を置き換えたい場合は、次を使用できます。

html='''<html>
  <b>Hello, World!</b>
  <b>%</b>
</html>'''.replace('%','Hello my name is Bob')
于 2012-07-01T23:42:26.903 に答える
1

文字列テンプレートを使用する簡単な方法があります

サンプルコードがあります

import string

htmlTemplate = string.Template(
"""
<html>
<b>Hello, World!</b>
<b>$variable</b>
</html>
""")

print htmlTemplate.substitute(dict(variable="This is the string template"))

$ を使用して、テンプレート文字列で変数を定義できます

于 2012-07-02T07:24:14.700 に答える