java如何将字符串里的数字提取到一维数组中
时间: 2024-09-09 09:15:38 浏览: 72
在Java中,将字符串里的数字提取到一维数组中可以通过以下步骤实现:
1. **分割字符串**:使用字符串的`split`方法,以非数字字符作为分隔符将字符串分割,这将返回一个包含数字和非数字字符的字符串数组。
2. **提取数字**:遍历上一步得到的字符串数组,只选择其中的数字字符串。
3. **转换类型**:将选中的数字字符串通过`Integer.valueOf`或`Double.valueOf`转换为整数或浮点数类型,并存放到整型或浮点型数组中。
以下是一个示例代码:
```java
public class ExtractNumbers {
public static void main(String[] args) {
String input = "a12b3c45d6";
// 使用正则表达式分割字符串,保留数字
String[] strArray = input.split("(?<=\\D)");
// 创建一个数组来存放提取出的数字
int[] numbers = new int[strArray.length];
int index = 0;
for (String s : strArray) {
// 检查字符串是否为数字,避免转换非数字字符串时出错
if (s.matches("\\d+")) {
numbers[index++] = Integer.parseInt(s);
}
}
// 截取实际数字部分的数组长度,因为数组最后一个元素可能是空字符串
numbers = java.util.Arrays.copyOf(numbers, index);
// 打印结果
for (int num : numbers) {
System.out.println(num);
}
}
}
```
请注意,以上代码假设字符串中的数字和非数字字符交替出现,并且没有连续的数字字符。如果字符串的格式不同,可能需要调整分割字符串的正则表达式。
阅读全文