You*_*mal 3 java regex replaceall
我想在每个元音之前插入"OB".我试过下面的代码:
String out=txt.toUpperCase();
out=out.replaceAll("A","OBA");
out=out.replaceAll("E","OBE");
out=out.replaceAll("I","OBI");
out=out.replaceAll("O","OBO");
out=out.replaceAll("U","OBU");
out=out.replaceAll("Y","OBY");
Run Code Online (Sandbox Code Playgroud)
当我使用上面的代码时,它将替换A为OBA,但是当它替换O为OBO它时,将替换O原始文本和Oin OBA.例如,因为"I WON'T"我想要输出"OBI WOBON'T",但是它给出"OBOBI WOBON'T"了O来自OBI第一行的from 被视为元音.
我需要一个解决方案,它不会取代O加密中的新内容.
由于replaceAll使用正则表达式,您可以在替换字符串中使用对捕获元素的引用:
out=out.replaceAll("[AEIOUY]", "OB$0");
Run Code Online (Sandbox Code Playgroud)
[AEIOUY]从AEIOUY列表中捕获单个字符$0 在替换字符串中代表已捕获的字符.这是一个演示.
| 归档时间: |
|
| 查看次数: |
342 次 |
| 最近记录: |