我有多次包含特定子字符串的字符串。我希望用st1
替换奇数重复索引,甚至用JAVA中的st2
替换奇数重复索引。例如,假设我的原始字符串是:
ihuiHIdasodkiokedwiHIkopkoijiojiojHIiojiodjadjaiojijHIjoiji
,搜索子字符串为HI
。替换奇数重复的字符串为T
,偶数字符串为Y
。输出应为:
ihuiTdasodkiokedwiYkopkoijiojiojTiojiodjadjaiojijYjoiji
我该怎么做?
答案 0 :(得分:3)
您可以成对替换它们,然后单独处理发生奇数次数的情况。
String input = "ihuiHIdasodkiokedwiHIkopkoijiojiojHIiojiodjadjaiojijHIjoiji";
String result = input.replaceAll("HI(.*?)HI", "T$1Y")
.replace("HI", "T");