有没有办法在intellij中查找和替换包含数字的字符串加1?

Is there a way to add 1 to a string containing numbers in find and replace in intellij?

我有这样的代码:

public void testSomething1() {

}

public void testSomething2() {

}

public void testSomething3() {

}

我希望查找和替换的结果看起来像这样:

public void testSomething2() {

}

public void testSomething3() {

}

public void testSomething4() {

} 我需要这个,因为我刚刚意识到我需要在 2 和 3 之间添加另一个测试并保持其余部分不变。我希望我可以在最后添加它,但我不能,我必须使用这个测试生成工具并为学校项目实施测试。我有 51 个测试,我不想每次测试都手动移动 n + 1,特别是因为有一条评论提到了这个数字。哦请告诉我有办法T_T。谢谢!

您可以为此使用 Edit | Find | Replace Structurally。使用如下模板:

<replaceConfiguration name="Counting" text="void $method$();" recursive="false" type="JAVA" pattern_context="member" reformatAccordingToStyle="false" shortenFQN="false" replacement="void $replacement$();">
  <constraint name="__context__" within="" contains="" />
  <constraint name="method" regexp="(testSomething)(\d+)" within="" contains="" />
  <variableDefinition name="replacement" script="&quot;def (_,name, number) = (method.name =~ /(\p{L}+)(\d+)/)[0]&#10;name + (Integer.parseInt(number) + 1)&#10;&quot;" />
</replaceConfiguration>

您可以复制此模式并使用“结构搜索”对话框工具按钮下菜单中的 Import Template from Clipboard 操作。