<分区>
我需要从字符串中提取一个 4 位数字:
例如“您的登录密码是 7832。此代码将在下午 12:43:09 过期”来自 Android 中的短信
我想提取 7832 或字符串中的任何 4 位代码。我确保字符串中只有一个 4 位代码。
请帮帮我。我尝试使用如下模式:
str.matches(".*\\\\d+.*");
但我不太了解正则表达式。
<分区>
我需要从字符串中提取一个 4 位数字:
例如“您的登录密码是 7832。此代码将在下午 12:43:09 过期”来自 Android 中的短信
我想提取 7832 或字符串中的任何 4 位代码。我确保字符串中只有一个 4 位代码。
请帮帮我。我尝试使用如下模式:
str.matches(".*\\\\d+.*");
但我不太了解正则表达式。
最佳答案
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
}
关于android - 从字符串中提取 4 位数字的正则表达式 - Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40858163/
相关文章:
android - v0.79+ 中对 ARM64 的 Realm 支持导致在 Galaxy S6 上找不到其他 native 库
php - PHP 中是否有条件 preg_replace?
android - 我想将一个 Activity 分成几个类(class)。是否可以?
android - 找不到 *apk,第一次运行但在第二次运行时工作
java - Fragment 中的 ListView 和 Tabwidget
java - Android 6.0 keystore ClassCastException