作者:小嘿嘿 | 来源:互联网 | 2023-10-12 15:39
idea 正则表达式搜索替换简单应用 利用正则表达式,idea可以进行快速大量替换
1.CTRL+R 快捷键调出下面当前页面替代操作栏
注意要使用正则表达式替换需要勾选regex
2.利用正则表达式进行替换
下面展示一些 简单操作
的例子。
(\w+)get\(0\).getValue\("(\w+)"\)
dtCfwStget(0).getValue("CFW_CD")
$1.getValue(0,"$2")
dtCfwSt.getValue(0,"CFW_CD")
(\w+).getItem\("(\w+)"\).toString\(\).ToBscNumber\(\)
drItem.getItem("PERS_NUMBE").toString().ToBscNumber()
$1.getItemBscNumber("$2")
drItem.getItemBscNumber("PERS_NUMBE")
: (\w+).Rows\)
for (DataRow drItem : dtCardInfo.Rows)
: $1.Rows())
for (DataRow drItem : dtCardInfo.Rows())
row.getItem\("(\w+)"\).toString\(\).ToDecimal\(\)
row.getItem("ACT_MTH_VAL").toString().ToDecimal()
row.getItemBigDecimal( "$1")
row.getItemBigDecimal( "ACT_MTH_VAL")
\[0\]\["(\w+)"\]
matAssResRows[0]["ASS_VAL"]
.get(0).getItem("$1")
matAssResRows.get(0).getItem("ASS_VAL")
以第二个为例(regester很好用)
若果想把类似于
drItem.getItem("PERS_NUMBE").toString().ToBscNumber()
drItaaa.getItem("PERS_bbb").toString().ToBscNumber()
drItemcccc.getItem("PERS_NUMBEccccc").toString().ToBscNumber()
一件替换为
drItem.getItemBscNumber("PERS_NUMBE")
drItaaa.getItemBscNumber("PERS_bbb")
drItemcccc.getItemBscNumber(PERS_NUMBEccccc")
第一步 选取一条原代码,将所有的左括号,右括号,左中括号,右中括号前面叫上\ ,使其变为正确的正则表达式:
// drItem.getItem("PERS_NUMBE").toString().ToBscNumber();
// drItem.getItem\("PERS_NUMBE"\).toString\(\).ToBscNumber\(\);
具体还有哪些符号前面需要加\转义,可以网查
第二部 选择需要变为X 的变量,用()选取,\w+指定选取括号里的字符
根据需求选择,这里通用的为(/w+)代替 X
// X.getItem("X").toString().ToBscNumber();
// (/w+).getItem\("(\w+)"\).toString\(\).ToBscNumber\(\);
这里匹配阶段结束(/w+).getItem("(\w+)").toString().ToBscNumber()可以匹配到所有 X.getItem(“X”).toString().ToBscNumber()的代码
第三步替代 将你需要替代成的X表达式用$1,$2…替代
这是我最终需要代码的一种
//drItem.getItemBscNumber("PERS_NUMBE")
化为X表达式
// X.getItemBscNumber("X")
利用$加序号指定需要替代的位置
这是之前匹配阶段的X表达式,$1选中第一个(\w+),,$2选中第一个(\w+)......
X.getItem("X").toString().ToBscNumber();
将 X.getItemBscNumber("X")替代为
$1.getItemBscNumber("$2")
最后输入替代
这里报红是因为我替代过了