Python用野性字符替换字符串

时间:2018-05-27 07:38:40

标签: 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

我该怎么做?

2 个答案:

答案 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 ....