使用Pattern regex。
考虑一下您要使用的文本以及两个关键字:
String s = "BEGIN:VCALENDAR PRODID:-//Kusss//DE VERSION:2.0 METHOD:PUBLISH BEGIN:VEVENT UID:at-coursedate-1330089 DTSTAMP:20161110T124248Z DTSTART:20161005T114500Z DTEND:20161005T150000Z SUMMARY:Mobile Computing (367008/2016W)\\, Lva-LeiterIn: prof DESCRIPTION: LOCATION:S3 057 X-GWSHOW-AS:BUSY END:VEVENT END:VCALENDAR";
findValue(s, "DTSTART");
findValue(s, "DTEND");将您的文本和所需的密钥发送到以下方法:
private static String findValue(String text, String keyword) {
Pattern p = Pattern.compile(keyword+ ":([^\\s]+)"); // the regex to be found
Matcher m = p.matcher(text);
if (m.find()) { // if found
return m.group().replace(dtStartOrEnd + ":", ""); // return found, except 'DTSTART:' / 'DTEND:'
}
return null; // Not found
}此方法已准备好在'key:'之后和下一个空格之前为该String中的所有值提供。