我在文本文件中有模式Avg="113.01"
,当我应用%s/="/=/g
之类的正则表达式时,它将值113.01
更改为62.31
。
我要做的就是删除双引号,但是它的数字值全部都在变化。
答案 0 :(得分:1)
此表达式应该:s/="\([0-9.]\{1,\}\)"/=\1/g
。
它查找用双引号括起来的数字模式,并仅保留数字模式。
我用[0-9.]\{1,\}
查找模式编号。它表示每个字符串的最小长度为1且没有最大值的数字或点。括号前的反斜杠在正则表达式中是必需的,以便不被os错误地解释。然后将此数字模式保存在括号内(也使用反斜杠),以便在第二部分中使用\ 1表示法重复使用。
其余的很简单。
答案 1 :(得分:0)
你也可以这样做:
s/"\([^"]*\)/\1/g
在第一次引用之后和最后一次引用之前捕获所有内容。