在Java中,可以使用正则表达式来从字符串中取出数字。以下是一个示例函数,用于从字符串中提取所有数字并保存在列表中:
import java.util.ArrayList; import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; public class NumberExtractor { public static List<Integer> extractNumbers(String input) { List<Integer> numbers = new ArrayList<>(); Pattern pattern = Pattern.compile("\\d+"); Matcher matcher = pattern.matcher(input); while (matcher.find()) { numbers.add(Integer.parseInt(matcher.group())); } return numbers; } public static void main(String[] args) { String input = "abc123def456ghi789"; List<Integer> numbers = extractNumbers(input); for (Integer number : numbers) { System.out.println(number); } } }
上面的代码首先定义了一个静态函数`extractNumbers`,该函数接受一个字符串作为输入,并返回一个包含所有数字的整数列表。在函数中,先创建一个正则表达式模式来匹配数字,并使用`Matcher`来找到所有匹配的数字。然后将每个匹配的数字解析为整数,并添加到结果列表中。
在`main`方法中,我们可以调用`extractNumbers`函数并打印结果列表中的数字。在这个示例中,如果输入字符串是”abc123def456ghi789″,输出将会是:
123 456 789
需要注意的是,上述示例代码只能提取字符串中所有的数字,如果需要提取小数或负数,需要修改正则表达式模式。同时,如果字符串中数字位数过长,超出`Integer.MAX_VALUE`的范围,也需要使用`Long.parseLong`或`BigInteger`等方法解析数字。
版权申明:财旺号所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流,不声明或保证其内容的正确性,如发现本站有涉嫌抄袭侵权/违法违规的内容。请发送邮件至 1790309299@qq.com 举报,一经查实,本站将立刻删除。