java基础:编写一个方法getNums(),传入一个字符串,提取字符串中所有的数值并返回数值列表,多个连在一起的数字可视为一个数值
时间: 2024-01-21 12:17:57 浏览: 64
这是用java开发的关于数值的程序
可以使用正则表达式来实现提取字符串中的数字。具体实现代码如下:
```java
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class StringUtil {
public static List<Integer> getNums(String str) {
List<Integer> nums = new ArrayList<Integer>();
Pattern pattern = Pattern.compile("\\d+");
Matcher matcher = pattern.matcher(str);
while (matcher.find()) {
nums.add(Integer.parseInt(matcher.group()));
}
return nums;
}
}
```
在这段代码中,我们使用了正则表达式 `\d+` 来匹配字符串中的数字。`\d` 表示匹配数字,`+` 表示匹配一个或多个数字。
接着,我们使用 Matcher 对象的 `find()` 方法来查找字符串中的数字,并使用 `group()` 方法来获取匹配到的数字字符串。最后,使用 `Integer.parseInt()` 将字符串转换为整数,并添加到结果列表中。
下面是一个简单的测试代码:
```java
public static void main(String[] args) {
String str = "abc123def45gh678";
List<Integer> nums = StringUtil.getNums(str);
for (Integer num : nums) {
System.out.println(num);
}
}
```
输出结果为:
```
123
45
678
```
阅读全文