gpt4 book ai didi

java - 在 String 中的特定位置查找模式并将其替换为 Java 中的其他内容

转载 作者:搜寻专家 更新时间:2023-11-01 02:57:05 25 4
gpt4 key购买 nike

我遇到了一个奇怪的问题,由于某种原因我无法解决。如果我有这个字符串:“aaaa aa”模式是:“aa”所以有 3 个地方匹配该模式:(aa)(aa)( aa)我想用其他东西更改特定位置(比方说在第二个位置)的模式,比方说这个字符串:“bbb”。

因此最终结果将是:“aabbb aa”。

解决这个问题最简单的方法是什么?没有任何特殊 Collection 或特殊类(class)。

最佳答案

一种选择是使用正式的正则表达式模式匹配器,然后迭代输入字符串,寻找 aa 匹配项。当我们命中第二个匹配时,然后用aa替换bb,否则就用aa替换,原始值。

String input = "aaaa aa";
Pattern pattern = Pattern.compile("aa");
Matcher matcher = pattern.matcher(input);
StringBuffer buffer = new StringBuffer();

int num = 0;
while(matcher.find()) {
String replace = num == 1 ? "bbb" : "aa";
matcher.appendReplacement(buffer, replace);
++num;
}

matcher.appendTail(buffer);
System.out.println(buffer.toString());

aabbb aa

关于java - 在 String 中的特定位置查找模式并将其替换为 Java 中的其他内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53536394/

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