首页 > 解决方案 > 如何区分字符串中的“0”和“00”并替换子字符串

问题描述

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

例如:00 0 000 0000 0

示例输出:Y X 000 0000 X

标签: javasubstring

解决方案


在 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

推荐阅读