我有一个这样的字符串:
jmeter -t xyz.jmx -Jhost=192.111.11.11 -JCEnext=192.111.11.11 ....
xyz.jmx
是变量字符串,可以是任何名称,例如abc123.jmx
或xyz1.jmx
..
我需要替换
jmeter -t xyz.jmx
带
jmeter -n -t C:\Automation\Jmeter\xyz.jmx
我该怎么做?
答案 0 :(得分:0)
您可以使用正则表达式:使用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
答案 1 :(得分:0)
您可以尝试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 ....