Java

java怎么提取字符串中的数字

小亿
260
2023-10-21 21:38:10
栏目: 编程语言

要提取字符串中的数字,可以使用正则表达式或循环遍历字符串的方法。

方法一:使用正则表达式

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

public class Main {
    public static void main(String[] args) {
        String str = "abc123def456ghi789";
        Pattern pattern = Pattern.compile("\\d+"); // 匹配一个或多个数字
        Matcher matcher = pattern.matcher(str);
        while (matcher.find()) {
            System.out.println(matcher.group()); // 打印匹配到的数字
        }
    }
}

方法二:使用循环遍历字符串

public class Main {
    public static void main(String[] args) {
        String str = "abc123def456ghi789";
        StringBuilder number = new StringBuilder();
        for (int i = 0; i < str.length(); i++) {
            char c = str.charAt(i);
            if (Character.isDigit(c)) {
                number.append(c); // 如果是数字,追加到StringBuilder中
            } else if (number.length() > 0) {
                System.out.println(number.toString()); // 打印数字
                number.setLength(0); // 清空StringBuilder
            }
        }
        if (number.length() > 0) {
            System.out.println(number.toString()); // 打印最后一个数字
        }
    }
}

以上两种方法都可以提取字符串中的数字,使用哪种方法取决于具体的需求和个人喜好。

0
看了该问题的人还看了