题解

此题可以使用正则,使用空串“”替掉需要打印内容,最后使用公式 总长度 - 去掉相应内容后的剩余长度 = 相应内容的长度

代码

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String content = sc.nextLine();

        // 依次定义 英文字符、空格字符、数字字符、其他字符  的正则
        String[] regex = new String[]{"[a-zA-Z]", "\\s", "[0-9]", "[^a-zA-Z\\s0-9]"};

        for (String str : regex) {
            // 总长度 - 去掉相应内容后的剩余长度  =  相应内容的长度
            int length = content.length() - content.replaceAll(str, "").length();
            System.out.println(length);
        }
    }
}