如何区分字符串中的“0”和“00”并替换子字符串

dma*_*map 3 java substring

在一个字符串中,如何用 X 替换所有“0”,用 Y 替换所有“00”,但如果它超过 2 个零,就保持原样。

例如: 00 0 000 0000 0

示例输出: Y X 000 0000 X

And*_*eas 5

在 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
Run Code Online (Sandbox Code Playgroud)