在java中输入一个其中包含数字的字符串,提取其中的数字组成一个整数,并输出。如输入 “wdfg23gfh56”,得到的整数位2356.
时间: 2024-09-19 21:01:31 浏览: 31
可重构平台上基于环路的自动管道优化
在Java中,你可以使用正则表达式配合`Pattern`和`Matcher`类来完成这个任务。首先,你需要创建一个函数来接收输入的字符串并提取数字。下面是一个简单的示例:
```java
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Main {
public static void main(String[] args) {
String input = "wdfg23gfh56";
int extractedNumber = extractIntegers(input);
System.out.println("提取的整数为:" + extractedNumber);
}
public static int extractIntegers(String str) {
// 使用正则表达式匹配所有的数字字符
Pattern pattern = Pattern.compile("\\d+");
Matcher matcher = pattern.matcher(str);
// 如果找到数字,则转换为整数并累加
int result = 0;
while (matcher.find()) {
result *= 10; // 将当前结果扩大一倍以便添加新数字
result += Integer.parseInt(matcher.group());
}
return result;
}
}
```
在这个例子中,我们使用`\d+`作为正则表达式模式,表示匹配一个或多个数字。然后通过`Matcher`的`find()`方法查找所有匹配项,并使用`Integer.parseInt()`将每个匹配到的数字部分转换成整数再添加到总和。
运行这段代码,你会看到输出为 `2356`。
阅读全文