结构搜索和替换为 Groovy 脚本约束
Structural Search and Replace with Groovy Script constraints
如何在结构搜索和替换中搜索给定的整数方法参数是否大于或等于给定值?或者这甚至可能吗?
例如:假设我有 100 次使用此方法
public void sendString(String msg, int interfaceId){ //doing stuff... }
我想检查传递给 interfaceId 的固定(none 可变数字)是否大于或等于给定数字。
是的,你可以。结构搜索很强大:
Test.groovy
class Test {
def test() {
String.format("%s",1)
String.format("%s","x")
String.format("%s",3)
String.format("%s","x")
String.format("%s",5)
}
}
搜索结构设置:
- 搜索模板:
String.format($str$,$val$)
- 文件类型:
Groovy
编辑变量对话框:
val
变量:
- Text/regexp:
\d*
Complete Match
变量:
- 脚本约束
- 脚本文本:
Integer.parseInt(val.getText()) > 1
搜索结果,找到的匹配项:
String.format("%s",3)
String.format("%s",5)
所以它发现所有调用 String.format 的第二个参数大于 1
。因此,您可以通过编辑 Script Text
设置来根据您的情况进行调整。
如何在结构搜索和替换中搜索给定的整数方法参数是否大于或等于给定值?或者这甚至可能吗?
例如:假设我有 100 次使用此方法
public void sendString(String msg, int interfaceId){ //doing stuff... }
我想检查传递给 interfaceId 的固定(none 可变数字)是否大于或等于给定数字。
是的,你可以。结构搜索很强大:
Test.groovy
class Test {
def test() {
String.format("%s",1)
String.format("%s","x")
String.format("%s",3)
String.format("%s","x")
String.format("%s",5)
}
}
搜索结构设置:
- 搜索模板:
String.format($str$,$val$)
- 文件类型:
Groovy
编辑变量对话框:
val
变量:- Text/regexp:
\d*
- Text/regexp:
Complete Match
变量:- 脚本约束
- 脚本文本:
Integer.parseInt(val.getText()) > 1
- 脚本文本:
- 脚本约束
搜索结果,找到的匹配项:
String.format("%s",3)
String.format("%s",5)
所以它发现所有调用 String.format 的第二个参数大于 1
。因此,您可以通过编辑 Script Text
设置来根据您的情况进行调整。