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")
最后输入替代
这里报红是因为我替代过了