题解 | #进制转换#
统计字符
http://www.nowcoder.com/practice/539054b4c33b4776bc350155f7abd8f5
题解
此题可以使用正则,使用空串“”替掉需要打印内容,最后使用公式 总长度 - 去掉相应内容后的剩余长度 = 相应内容的长度。
代码
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);
}
}
}