gpt4 book ai didi

Java replaceAll ' with ' ' 除了第一次和最后一次出现

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:59:33 24 4
gpt4 key购买 nike

我想用两个引号替换所有出现的单引号,除了第一次和最后一次出现,我设法使用正则表达式排除了最后一次出现,如下所示

String toReplace = "'123'456'";
String regex = "'(?=.*')";
String replaced = toReplace.replaceAll(regex,"''");
System.out.println(replaced);

我来了

''123''456'

如何获取

'123''456'

谢谢。

最佳答案

关于正则表达式和 two problems 有一句精辟的话,但我会跳过它并建议您使用 StringBuilder 来简化它;在您的输入中找到第一个 ' 和最后一个 ' 的索引,然后在这些索引之间迭代寻找 ' (并替换为 '')。类似的东西,

StringBuilder sb = new StringBuilder(toReplace);
int first = toReplace.indexOf("'"), last = toReplace.lastIndexOf("'");
if (first != last) {
for (int i = first + 1; i < last; i++) {
if (sb.charAt(i) == '\'') {
sb.insert(i, '\'');
i++;
}
}
}
toReplace = sb.toString();

关于Java replaceAll ' with ' ' 除了第一次和最后一次出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57865562/

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