2
我有一个包含字母数字字符的字符串 - 这是产品的序列号。 我需要一种方法来拉出该字符串中的前四个连续数字,这些数字表示YYMM中产品的制造日期。如何拉取字母数字字符串中的前四个连续数字?
示例字符串:USA43XY121100004。 1211是我所需要的。
感谢
我有一个包含字母数字字符的字符串 - 这是产品的序列号。 我需要一种方法来拉出该字符串中的前四个连续数字,这些数字表示YYMM中产品的制造日期。如何拉取字母数字字符串中的前四个连续数字?
示例字符串:USA43XY121100004。 1211是我所需要的。
感谢
您可以使用正则表达式,并找到第一组的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)”并避免捕获括号这个案例。 – user2864740
使用正则表达式匹配{4} [0-9]类似的使用函数,这取决于您使用的语言 –