有两种方法从 Java 数组中截取数字:使用正则表达式匹配并提取数字。使用 Arrays.stream() 过滤和映射数字。

如何使用 Java 截取数组中的数字
解答:
使用 Java 截取数组中的数字有两种主要方法:
1. 使用正则表达式 (RegEx)
正则表达式是一种用来查找和操纵文本模式的强大工具。您可以使用 String.matches() 方法来检查数组元素是否包含数字,并使用 String.replaceAll() 方法提取它们。
立即学习“Java免费学习笔记(深入)”;
String[] arr = new String[] {"abc", "123", "def", "456"};
String[] numbers = new String[arr.length];
for (int i = 0; i < arr.length; i++) {
if (arr[i].matches(".*\\d+.*")) {
numbers[i] = arr[i].replaceAll("[^\\d]", "");
}
}2. 使用 Arrays.stream()
Java 8 引入了 Arrays.stream() 方法,它允许您对数组进行流操作。您可以使用 filter() 操作过滤出包含数字的元素,然后使用 map() 操作提取数字。
String[] arr = new String[] {"abc", "123", "def", "456"};
String[] numbers = Arrays.stream(arr)
.filter(e -> e.matches(".*\\d+.*"))
.map(e -> e.replaceAll("[^\\d]", ""))
.toArray(String[]::new);注意:
- 这两种方法都将创建一个新数组来存储提取的数字。
- 您可以根据需要修改正则表达式来匹配不同的数字格式。
- 如果数组元素不包含任何数字,则使用正则表达式的方法将返回空字符串。











