我想使用匹配模式获取String
字符串msg =“您的验证码是aBc123此代码有效期为30分钟”
我想从msg字符串中获取字符串或代码
字符串代码=“aBc123”;
答案 0 :(得分:1)
请做这样的事情。 我已经完成了,现在你也可以获得代码和分钟。 如果您有任何问题,请查看并告诉我。
String input = "Your verification Code is aBc123 This Code Valied for 30 Minutes";
Matcher m1 = Pattern.compile("^Your verification Code is (.*) This Code Valied for (.*)$").matcher(input);
if(m1.find()) {
String _code = m1.group(1); // aBc123
String _minutes = m1.group(2); // 30 Minutes
System.out.println("Code is : "+_code);
System.out.println("Minutes is : "+_minutes);
}
答案 1 :(得分:0)
请试试这个。它识别“代码是”模式并将下一个单词作为验证码。即使你的代码长度和模板没有修复,但模板必须在“代码是”之后的代码中有代码,这也会有用
String msg = "Your verification Code is aBc123 This Code Valied for 30 Minutes";
String words[] = msg.split(" ");
String code = "";
for(int i =0;i<words.length;i++){
if(words[i].equalsIgnoreCase("code")&&words[i+1].equalsIgnoreCase("is")){
code = words[i+2];
break;
}
}