如何在字母数字字符串中拉出前四个连续数字?

时间:2014-02-27 00:57:52

标签: java android

我有一个包含字母数字字符的字符串 - 这是产品的序列号。 我需要一种方法来拉出该字符串中的前四个连续数字,这些数字代表YYMM中产品的制造日期。

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

由于

1 个答案:

答案 0 :(得分:5)

您可以使用正则表达式并找到第一组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());
}