【发布时间】:2017-02-22 17:11:28
【问题描述】:
除了使用匹配器获取数字,将其加一并替换之外,是否有任何 Java 解决方案可以替换字符串中的数字?
“REPEAT_FOR_4”将返回“REPEAT_FOR_5” “REPEAT_FOR_10”将返回“REPEAT_FOR_11”
我想在一行中使用正则表达式并替换,而不是通过将字符串重新组合为“REPEAT_FOR_”并在递增后添加数字。 谢谢!
稍后编辑:我想知道如何将字符串中的数字替换为以下数字。
【问题讨论】:
-
是的,
Matcher#appendReplacement -
从技术上讲,您不能“替换”
String中的任何内容,因为String的对象是不可变的。但是您可以创建一个新的String,其中包含旧前缀加上 Integer.valueOf(suffix) + 1。 -
是的,我知道。我会更新我的问题。生成一个新字符串 :)
-
您可以使用 IntStream,将其映射到 Integer,然后在一行代码中生成字符串列表。
-
谢谢,帕夫尼特!很抱歉重复了这些问题。
标签: java regex string replace matcher