使用java正则可以很方便的从字符串中提取符合条件的内容。
1.提取字符串中所有的手机号:
private void getPhoneNum(String smsBody) { Pattern pattern = Pattern.compile("(13|14|15|18)d{9}"); Matcher matcher = pattern.matcher(smsBody); while (matcher.find()) { System.out.println(matcher.group()); } }2.在Android开发中,有时候需要提取短信中的验证码(6位数字):
private String getYzmFromSms(String smsBody) { Pattern pattern = Pattern.compile("d{6}"); Matcher matcher = pattern.matcher(smsBody); if (matcher.find()) { return matcher.group(); } return null; }