Python用通配符替换字符串

2024-04-24 12:58:04 发布

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

我有这样一根线:

 jmeter -t xyz.jmx -Jhost=192.111.11.11 -JCEnext=192.111.11.11 ....

xyz.jmx是变量字符串,可以是任何名称,即abc123.jmxxyz1.jmx。。你知道吗

我需要替换

jmeter -t xyz.jmx 

jmeter -n -t C:\Automation\Jmeter\xyz.jmx

我该怎么做?你知道吗


Tags: 字符串名称automationxyzabc123jmxjmeterxyz1
2条回答

你可以试试Positive Lookbehind (?<=-t)

import re

pattern =r'(?<=-t)\s(\w.+?\s)'

text='jmeter -t xyz.jmx -Jhost=192.111.11.11 -JCEnext=192.111.11.11 ....'

replaced=re.sub(pattern,r' C:\Automation\Jmeter\xyz.jmx ',text)
print(replaced)

输出:

jmeter -t C:\Automation\Jmeter\xyz.jmx -Jhost=192.111.11.11 -JCEnext=192.111.11.11 ....

您可以使用Regex:使用re.sub

例如:

import re
s = "jmeter -t xyz.jmx -Jhost=192.111.11.11 -JCEnext=192.111.11.11"
toReplace = r"jmeter -n -t C:\Automation\Jmeter\\"

print(re.sub("jmeter(.*?)\-t\s+", toReplace, s))

输出:

jmeter -n -t C:\Automation\Jmeter\xyz.jmx -Jhost=192.111.11.11 -JCEnext=192.111.11.11

相关问题 更多 >