全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  千锋问问

java提取一串字符中的数字怎么操作

问题描述:java提取一串字符中的数字怎么操作

推荐答案 本回答由问问达人推荐

  在Java中,要从一串字符中提取数字,可以使用正则表达式或循环遍历字符的方式来实现。

千锋教育

  使用正则表达式提取数字:

  import java.util.regex.*;

  public class NumberExtractor {

  public static void main(String[] args) {

  String input = "abc123def456ghi789";

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

  Matcher matcher = pattern.matcher(input);

  while (matcher.find()) {

  String number = matcher.group();

  System.out.println(number);

  }

  }

  }

 

  上述代码中,我们使用正则表达式\\d+来匹配连续的数字。\\d表示匹配一个数字字符,+表示匹配一个或多个该字符。通过matcher.find()方法可以找到所有匹配的数字,然后通过matcher.group()方法获取匹配的数字字符串。

  使用循环遍历字符提取数字:

  public class NumberExtractor {

  public static void main(String[] args) {

  String input = "abc123def456ghi789";

  StringBuilder number = new StringBuilder();

  for (char c : input.toCharArray()) {

  if (Character.isDigit(c)) {

  number.append(c);

  } else if (number.length() > 0) {

  System.out.println(number);

  number.setLength(0); // 重置StringBuilder

  }

  }

  if (number.length() > 0) {

  System.out.println(number);

  }

  }

  }

 

  上述代码中,我们遍历输入字符串中的每个字符,如果是数字字符,则将其添加到StringBuilder中。如果遇到非数字字符,并且StringBuilder中已经有数字,则表示当前数字提取结束,打印该数字字符串并清空StringBuilder。

  无论使用正则表达式还是循环遍历字符的方法,都可以将一串字符中的数字提取出来。

查看其它两个剩余回答
在线咨询 免费试学 教程领取