首页 >Java >java教程 >正则表达式如何从字符串中提取数字并将其存储为整数数组?

正则表达式如何从字符串中提取数字并将其存储为整数数组?

Susan Sarandon
Susan Sarandon原创
2024-12-08 14:08:11716浏览

How Can Regular Expressions Extract Numbers from a String and Store Them as an Integer Array?

使用正则表达式从字符串中提取数字

问题:

给定一个包含两者的字符串文本和数字,我们如何提取这些数字并将它们存储在数组中整数?

正则表达式解决方案:

正则表达式(regex)可以用作一种简洁有效的方法来从字符串中匹配和提取特定模式。下面是我们如何使用正则表达式来解决这个问题:

import java.util.regex.Pattern;
import java.util.regex.Matcher;
import java.util.LinkedList;

String line = "There are more than -2 and less than 12 numbers here";

Pattern p = Pattern.compile("-?\d+");
Matcher m = p.matcher(line);

LinkedList<String> numbers = new LinkedList<>();
while (m.find()) {
  numbers.add(m.group());
}

// Convert the extracted strings to integers
int[] intArray = new int[numbers.size()];
for (int i = 0; i < numbers.size(); i++) {
  intArray[i] = Integer.parseInt(numbers.get(i));
}

System.out.println(intArray);

在此解决方案中:

  • 我们编译正则表达式模式 -?d ,它匹配前面带有可选负数的数字符号 (-)。
  • 我们使用 Matcher 对象来查找此模式在字符串。
  • 我们将匹配的数字存储在字符串链接列表中。
  • 最后,我们将提取的字符串转换为整数并将它们存储在整数数组中。

这种方法提供了一个干净且可重用的解决方案,用于从任意长度和复杂性的字符串中提取数字。

以上是正则表达式如何从字符串中提取数字并将其存储为整数数组?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn