Python模式替换

2024-10-03 21:28:49 发布

您现在位置:Python中文网/ 问答频道 /正文

也许模式替换不是一个合适的词,但我不知道还能叫它什么。我想取一个字符串,比如“hi my name isnameand I am aageyears”或其他什么,然后实际地填写值。最好的方法是什么


Tags: 方法字符串namemy模式hiamisnameand
3条回答

你想要string formatting。你知道吗

从如下字符串开始:

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

这样做的目的是用给定的材料替换大括号({})中的内容。你知道吗

请注意,与使用%运算符进行格式化相比,此方法更受欢迎,并且是python3中的标准方法。你知道吗

你可以看看python rehttp://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"

试试这个:

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)

Read more on string formatting within python docs.

相关问题 更多 >