有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何提取字母数字字符串中的前四个连续数字?

我有一个字符串,其中包含字母数字字符-这是一个产品的序列号。 我需要一种方法来提取该字符串中的前四个连续数字,它们表示产品的生产日期(以YYMM为单位)

字符串示例:USA43XY121100004。 1211是我需要的

谢谢


共 (1) 个答案

  1. # 1 楼答案

    您可以使用正则表达式查找第一组4位数字:

    Pattern p = Pattern.compile("([0-9]{4})");
    Matcher m = p.matcher("USA43XY121100004");
    
    if (m.find()) {
        System.out.println(m.group(1));
    }
    

    正如评论中所建议的,正则表达式中没有组捕获的版本:

    Pattern p = Pattern.compile("[0-9]{4}");
    Matcher m = p.matcher("USA43XY121100004");
    
    if (m.find()) {
        System.out.println(m.group());
    }