2014-02-27 44 views
2

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

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

感谢

+0

使用正则表达式匹配{4} [0-9]类似的使用函数,这取决于您使用的语言 –

回答

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()); 
} 
+0

还可以使用“组(0)”并避免捕获括号这个案例。 – user2864740

相关问题