我有一个字符串可能看起来像这样
"myFunc('element','node','elementVersion','ext',12,0,0)"
Run Code Online (Sandbox Code Playgroud)
我目前正在检查有效性,这很好用
myFunc\((.+?)\,(.+?)\,(.+?)\,(.+?)\,(.+?)\,(.+?)\,(.+?)\)
Run Code Online (Sandbox Code Playgroud)
现在我想替换第3个参数的任何字符串.不幸的是,我不能在第3个位置上的任何子字符串上使用stringreplace,因为相同的"子字符串"可能是该字符串中的任何其他位置.
用这个和re.findall,
myFunc\(.+?\,.+?\,(.+?)\,.+?\,.+?\,.+?\,.+?\)
Run Code Online (Sandbox Code Playgroud)
我能够在第3个位置获取子字符串的内容,但是re.sub不会替换字符串,它只返回我想要替换的字符串:/
这是我的代码
myRe = re.compile(r"myFunc\(.+?\,.+?\,(.+?)\,.+?\,.+?\,.+?\,.+?\)")
val = "myFunc('element','node','elementVersion','ext',12,0,0)"
print myRe.findall(val)
print myRe.sub("noVersion",val)
Run Code Online (Sandbox Code Playgroud)
知道我错过了什么吗?
谢谢!勒布
我在Linux shell上进行了计算,就像这样
echo "scale 4;3*2.5" |bc
Run Code Online (Sandbox Code Playgroud)
这给了我一个结果,现在我想把这个计算的结果输入到一个变量中,这样我以后可以在另一个命令中使用它,
管道到文件工作,但不管道变量
echo "scale=4 ; 3*2.5" | bc > test.file
Run Code Online (Sandbox Code Playgroud)
所以在伪代码中我想做这样的事情
set MYVAR=echo "scale=4 ; 3*2.5" | bc ; mycommand $MYVAR
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?