一个string字符串里面什么都有,包括但不限于中文英文以及标点符号,但是我只想要数字用java实现
时间: 2023-06-13 14:05:26 浏览: 58
你可以使用正则表达式来过滤出字符串中的数字。以下是一个示例代码:
```java
String input = "abc123,456def789.0";
String regex = "\\d+";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(input);
while (matcher.find()) {
System.out.println(matcher.group());
}
```
输出:
```
123
456
789
0
```
解释一下代码:首先定义一个含有数字的字符串,然后使用正则表达式 `\d+` 来匹配其中的数字。`\d` 表示数字,`+` 表示匹配一个或多个数字。然后使用 `Pattern` 类来编译正则表达式,使用 `Matcher` 类进行匹配。最后使用 `find()` 方法来查找匹配的数字,使用 `group()` 方法来获取匹配的字符串。