【发布时间】:2017-08-22 21:28:01
【问题描述】:
我有一个如下所示的字符串:qqq Eqq Eqqq Cqq Eqq Fq。我想用h替换所有有两个连续字符的序列(在本例中为qq),所需的输出如下所示:qqq Eh Eqqq Ch Eh Fq
但是,我不希望正则表达式匹配超过两个 q 的序列(qqq 或 qqqq)并使字符串看起来像这样:hq Eh Ehq Ch Eh Fq。我已经尝试了以下方法,但这会导致我不想要的输出。
text = "qqq Eqq Eqqq Cqq Eqq Fq";
text = text.replaceAll("[q]{2}", "h");
我也尝试只替换q's 后跟一个空格字符,但这只是匹配每个单词中的最后两个q's。有没有办法替换两个连续的字符,除非它们后面跟着同一个字符的第三个或第四个?如果有帮助,语言就是 Java。
【问题讨论】: