我正在尝试从Android中的短信中读取OTP。我能收到完整的信息。但是,我只需要只有短信数字的OTP。
请为此提出任何解决方案。 谢谢
答案 0 :(得分:3)
试试这个
.vs
它将删除smsString = smsString.replaceAll("\\D+","");
答案 1 :(得分:1)
获取整个短信时使用此方法获取OTP:
final Pattern p = Pattern.compile( "(\\d{4})" );
final Matcher m = p.matcher(messages[0].getMessageBody());
if ( m.find() ) {
Log.e("SMSotp", String.valueOf(m.group()));
}
String[] singleCHAR= m.group().split("(?!^)");
在这里,如果你的OTP是n位,那么在模式编译中使用,(\ d {n})