下面的代碼片斷試圖提取字符串的小時,分鍾和秒。 例如: 「PT5M30S」
「PT1H13M59S」使用Java中的正則表達式解析時間
我得到一個NullPointerException在此行中(組= NULL):INT數=新的整數(group.substring(0,group.length() - 1) );
// Create a Pattern object
Pattern pattern = Pattern.compile("PT(\\d+H)?(\\d+M)?(\\d+S)?");
// Now create matcher object.
Matcher matcher = pattern.matcher(duracaoStr);
int hour = 0;
int minute = 0;
int second = 0;
if(matcher.matches()){
for(int i = 1; i<=matcher.groupCount();i++){
String group = matcher.group(i);
int number = new Integer(group.substring(0, group.length()-1));
if(matcher.group(i).endsWith("H")){
hour = number;
} else if(matcher.group(i).endsWith("M")){
minute = number;
} else if(matcher.group(i).endsWith("S")){
second = number;
}
}
}