我需要从字符串中提取一个4位数字:
例如"您登录的otp是7832.此代码将于下午12:43:09到期"来自Android中的短信
我想提取7832或字符串中的任何4位数代码。我确保字符串中只有一个4位数代码。
请帮帮我。我试图使用像:
这样的模式str.matches(".*\\\\d+.*");
但是我无法理解正则表达式。
答案 0 :(得分:7)
String data = "Your otp for the login is 7832. This code will expire at 12:43:09PM";
Pattern pattern = Pattern.compile("(\\d{4})");
// \d is for a digit
// {} is the number of digits here 4.
Matcher matcher = pattern.matcher(data);
String val = "";
if (matcher.find()) {
val = matcher.group(0); // 4 digit number
}
答案 1 :(得分:5)