21xrx.com
2024-12-22 22:38:35 Sunday
登录
文章检索 我的文章 写文章
如何在JAVA中获取字符串中的数字
2023-06-15 20:15:49 深夜i     --     --
JAVA 字符串 数字 正则表达式 内置函数

当我们处理字符串的时候,有时候需要从字符串中获取数字,比如计算字符串中数字的总和或取最大值等。在JAVA中,我们可以使用正则表达式来获取字符串中的数字。

具体实现方法如下:

1.使用正则表达式

Java中的正则表达式是通过Pattern和Matcher类来实现的。我们可以使用Pattern.compile方法来获取一个正则表达式的模式,然后再通过Matcher对象来执行这个模式。

例如,我们可以通过以下代码获取字符串中的数字:


String str = "这是一个字符串12345678";

Pattern pattern = Pattern.compile("\\d+");

Matcher matcher = pattern.matcher(str);

while (matcher.find()) {

  String num = matcher.group();

  System.out.println(num);

}

这段代码中,我们使用了正则表达式`\d+`来匹配字符串中的数字,`+`号表示匹配一个或多个数字。Matcher对象则用于执行这个正则表达式,而group方法则用于获取匹配到的数字。

2.使用Java内置函数

除了使用正则表达式,我们还可以使用Java内置的函数来获取字符串中的数字,例如Integer.parseInt或Double.parseDouble。

例如,我们可以通过以下代码获取字符串中的数字:


String str = "这是一个字符串12345678";

StringBuilder sb = new StringBuilder();

for (int i = 0; i < str.length(); i++) {

  char ch = str.charAt(i);

  if (Character.isDigit(ch)) {

    sb.append(ch);

  } else {

    if (sb.length() > 0) {

      int num = Integer.parseInt(sb.toString());

      System.out.println(num);

      sb.setLength(0);

    }

  }

}

这段代码中,我们遍历字符串的每个字符,如果是数字则添加到StringBuilder中,否则判断StringBuilder是否有数字,有则转换成整数后输出,并清空StringBuilder。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复