java如何去掉字母
去除字符串中的字母
使用正则表达式替换所有字母字符。正则表达式 [a-zA-Z] 匹配所有大小写字母,replaceAll 方法将其替换为空字符串。
String input = "abc123XYZ";
String result = input.replaceAll("[a-zA-Z]", "");
System.out.println(result); // 输出: 123
去除字符串中的特定字母
如果需要移除特定字母(如所有 'a' 和 'A'),可以通过正则表达式指定目标字符。

String input = "abc123ABC";
String result = input.replaceAll("[aA]", "");
System.out.println(result); // 输出: bc123BC
使用循环遍历字符
通过遍历字符串中的每个字符,筛选非字母字符并拼接结果。这种方法适合需要更复杂条件判断的场景。

String input = "a1b2c3";
StringBuilder sb = new StringBuilder();
for (char c : input.toCharArray()) {
if (!Character.isLetter(c)) {
sb.append(c);
}
}
String result = sb.toString();
System.out.println(result); // 输出: 123
使用Java 8 Stream API
通过 chars() 方法将字符串转换为字符流,过滤掉字母字符后重新拼接为字符串。
String input = "a1b2c3";
String result = input.chars()
.filter(c -> !Character.isLetter(c))
.collect(StringBuilder::new, StringBuilder::appendCodePoint, StringBuilder::append)
.toString();
System.out.println(result); // 输出: 123
去除字母并保留其他字符
若需保留数字、符号等其他非字母字符,正则表达式 [^a-zA-Z] 可以匹配所有非字母字符,但需要配合逻辑反转。
String input = "a1@b#2";
String result = input.replaceAll("[a-zA-Z]", "");
System.out.println(result); // 输出: 1@#2






