我的代码中有如下条目
命中率=0.57
这些条目有不同的变量,如、、0.4
等等,每个文件中都有十几个这样的变量。0.65
0.55
我想用 替换所有hit_power=
条目hit_power=0.5
,但是当我尝试找到hit_power=
并替换它时hit_power=0.5
,它会替换它,但函数的前一个参数将保留。
例如,我将 替换hit_power=0.65
为hit_power=0.5
,结果中我将得到hit_power=0.50.65
。如何删除带有hit_power=
函数的条目并将其替换为新函数和参数?
答案1
使用正则表达式匹配。方法如下:
找什么:^hit_power=[0-9.]+$
用。。。来代替:hit_power=0.5
搜索模式:正则表达式
注意:这只是匹配右侧值的众多方法之一。
答案2
似乎 hit_power= 等式后面有一个制表符[或几个空格]。所以它找不到这个短语。那么有没有办法找到一行
hit_power=
删除短语所在的行以及其后的所有标记和参数,然后用新行替换,用新短语替换?它会像这样:
查找所有带有
hit_power
完全删除包含 hit_power 的行以及其后的所有空格、制表符、标记和参数,例如:
hit_power= 0.57
hit_power= 0.43
hit_power= 0.52
并替换为
命中率=0.5
命中率=0.5
命中率=0.5
本主题中一些答案提供的公式足以找到 hit_power=x 并将其替换为 hit_power=0.5。但是当 = 标记后有空格/制表符时,它无法找到短语。
这是实际的代码 http://pastebin.com/eLagUcCB
好的,找到答案了,只需要使用公式
寻找
hit_power.*
用。。。来代替
hit_power=0.5
尽管如此,还是感谢您的回答!
答案3
我刚刚注意到 Alex 的答案中的正则表达式使用了[0-9.]
,但点将匹配任何字符,我认为 Alex 的意思是让它匹配文字小数点。所以它应该是^hit_power=[0-9\.]+$
,并将点转义。
如果有人可以编辑 Alex 的答案来反映这一点,我同意这正是我会使用的解决方案。