在Java中,你可以使用java.util.regex包中的Pattern和Matcher类来利用正则表达式查找字符串中的所有数字。下面是一个简单的示例,演示如何实现这个功能:
import java.util.regex.Pattern;
import java.util.regex.Matcher;
import java.util.ArrayList;
import java.util.List;
public class FindNumbersInString {
public static void main(String[] args) {
String input = "我有2个苹果,3个香蕉和5个橙子";
List<Integer> numbers = findNumbers(input);
System.out.println("找到的数字:");
for (int number : numbers) {
System.out.println(number);
}
}
public static List<Integer> findNumbers(String input) {
List<Integer> numbers = new ArrayList<>();
String regex = "\\d+"; // 正则表达式,匹配一个或多个数字
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(input);
while (matcher.find()) {
numbers.add(Integer.parseInt(matcher.group()));
}
return numbers;
}
}
在这个示例中,我们定义了一个名为findNumbers的方法,它接受一个字符串作为输入,并返回一个包含所有找到的数字的列表。我们使用了正则表达式\\d+来匹配一个或多个数字。然后,我们使用Pattern.compile()方法编译正则表达式,并使用pattern.matcher()方法创建一个Matcher对象。接下来,我们使用matcher.find()方法在输入字符串中查找匹配项,并使用matcher.group()方法获取匹配的数字。最后,我们将找到的数字添加到列表中并返回。
在main方法中,我们调用了findNumbers方法,并打印出找到的所有数字。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。