gpt4 book ai didi

java - 如何使用java中的正则表达式用字符串中的连续数字替换某些子字符串?

转载 作者:行者123 更新时间:2023-12-03 23:04:50 24 4
gpt4 key购买 nike

我有以下文字:

some cool color #12eedd more cool colors #4567aa

我希望将此字符串转换为:

some cool color #{1} more cool colors #{2}

如何在 Java (1.6) 中做到这一点?

到目前为止我发现的是颜色的正则表达式:#[0-9abcdef]{3,6}

最佳答案

您可以使用 Matcher 类中的 appendReplacementappendTail

String data = "some cool color #12eedd more cool colors #4567aa";
StringBuffer sb = new StringBuffer();

Pattern p = Pattern.compile("#[0-9a-f]{3,6}", Pattern.CASE_INSENSITIVE);
Matcher m = p.matcher(data);
int i = 1;
while (m.find()) {
m.appendReplacement(sb, "#{" + i++ + "}");
}
m.appendTail(sb);//in case there is some text left after last match

String replaced = sb.toString();
System.out.println(replaced);

输出:

some cool color #{1} more cool colors #{2}

关于java - 如何使用java中的正则表达式用字符串中的连续数字替换某些子字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18741152/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com