我有以下格式的几个字符串:
string = http://1.8.1.1:5000/student/<studentid>/student_details/<rollnumber>
和2个变量
x="myid"
y="myrollnumber"
我想要的是替换&lt; ...&gt;的第一个实例变量x和&lt; ....&gt;的第二个实例变量y。它不应该取决于我里面的内容&lt;&gt;标签。具有该格式的任何字符串应在其各自的位置由x和y替换。结果输出应如下所示:
string=http://1.8.1.1:5000/student/myid/student_details/myrollnumber
答案 0 :(得分:2)
你可以这样做,
>>> S = 'http://1.8.1.1:5000/student/<studentid>/student_details/<rollnumber>'
>>> import re
>>> k = re.sub(r'<.*?>', '{}', S)
>>> k
'http://1.8.1.1:5000/student/{}/student_details/{}'
>>> x="myid"
>>> y="myrollnumber"
>>> k.format(x, y)
'http://1.8.1.1:5000/student/myid/student_details/myrollnumber'
>>>
答案 1 :(得分:2)
我不确定我是否理解正确,但这可能是一个解决方案:
string = "http://1.8.1.1:5000/student/%s/student_details/%s"%(x,y)
让我们把它放在一个函数中:
def foo(studentID, rollNumber):
string = "http://1.8.1.1:5000/student/%s/student_details/%s"%(studentID, rollNumber)
return string
这有用吗? 让我知道......
答案 2 :(得分:0)
您可以使用replace
:
string = "http://1.8.1.1:5000/student/<studentid>/student_details/<rollnumber>"
x="myid"
y="myrollnumber"
newString = string.replace("<studentid>",x).replace("<rollnumber>",y)
在一个功能中:
def changeString(studentid,rollNumber):
newString = string.replace("<studentid>",studentid).replace("<rollnumber>",rollNumber)
return newString