java提取字符串里的数字
时间: 2023-06-30 12:04:24 浏览: 51
可以使用正则表达式来提取字符串中的数字。下面是一个示例代码:
```java
String str = "hello 123 world 456";
Pattern pattern = Pattern.compile("\\d+"); // 匹配数字的正则表达式
Matcher matcher = pattern.matcher(str);
while (matcher.find()) {
String numStr = matcher.group(); // 获取匹配到的数字字符串
int num = Integer.parseInt(numStr); // 将字符串转换为整数
System.out.println(num);
}
```
以上代码会输出:
```
123
456
```
其中 `Pattern.compile("\\d+")` 表示将匹配至少一个数字的字符串,而 `Matcher.find()` 方法会在字符串中寻找匹配的子串,如果找到则返回 `true`,并通过 `Matcher.group()` 方法获取匹配的子串。最后将匹配到的数字字符串转换为整数即可。
相关问题
java提取字符串的数字
可以使用正则表达式来提取字符串中的数字,例如:
```java
String str = "abc123xyz";
Pattern pattern = Pattern.compile("\\d+");
Matcher matcher = pattern.matcher(str);
if (matcher.find()) {
String numberStr = matcher.group(); // 提取出的数字字符串
int number = Integer.parseInt(numberStr); // 将字符串转换成整数
System.out.println(number);
}
```
这段代码会输出数字 123。其中,正则表达式 `\\d+` 表示匹配连续的数字,`Matcher` 对象用于在字符串中匹配正则表达式。如果找到了匹配的子串,就可以使用 `group()` 方法来提取出子串,然后再将字符串转换成整数。
java提取字符串中的数字
可以使用正则表达式配合字符串的方法来提取字符串中的数字,如下所示:
```java
String str = "abc123def456";
Pattern pattern = Pattern.compile("\\d+"); // 匹配数字的正则表达式
Matcher matcher = pattern.matcher(str);
while (matcher.find()) {
String num = matcher.group();
System.out.println(num);
}
```
输出结果:
```
123
456
```
其中,`Pattern.compile("\\d+")`表示编译一个正则表达式,该表达式匹配一个或多个数字,`\d`表示匹配数字,`+`表示匹配一个或多个。`Matcher`类的`find()`方法用于查找下一个匹配项,`group()`方法返回当前匹配的字符串。