如何区分字符串中的“0”和“00”并替换子字符串
在一个字符串中,如何用 X 替换所有“0”,用 Y 替换所有“00”,但如果它超过 2 个零,就保持原样。
例如: 00 0 000 0000 0
示例输出: Y X 000 0000 X
回答
在 Java 14+ 中,您可以这样做:
String input = "00 0 000 0000 0";
String result = Pattern.compile("0+").matcher(input).replaceAll(m ->
switch (m.group().length()) {
case 1 -> "X";
case 2 -> "Y";
default -> m.group();
});
System.out.println(result); // prints: Y X 000 0000 X