我有保存時間的字符串。例如,根據數字位數拆分給定的時間
String time =「11235678」;
上述時間在HH MM SS MS(小時,分鐘,秒,毫秒)。
不能保證幾秒鐘和幾毫秒都會收到,但如果我收到它,我必須相應地分割。
現在我知道我們可以使用長度拆分字符串,但我想知道是否有更好的方法來做到這一點?
Cheeers !!!
我有保存時間的字符串。例如,根據數字位數拆分給定的時間
String time =「11235678」;
上述時間在HH MM SS MS(小時,分鐘,秒,毫秒)。
不能保證幾秒鐘和幾毫秒都會收到,但如果我收到它,我必須相應地分割。
現在我知道我們可以使用長度拆分字符串,但我想知道是否有更好的方法來做到這一點?
Cheeers !!!
這將2個位數
String[] a = s.split("(?<=\\G.{2})");
你能解釋一下這是如何工作的嗎?榮譽爲答案btw :) –
我簡化了expr一點,它也使得它更容易解釋:匹配器前進,直到它看到2個字符後面,並進行拆分,\\ G(最後一場比賽)使匹配後的字符繼續 –
拆分輸入你可以嘗試這樣的事情:
public Date splitTimeByLength(String time) throws ParseException{
String splitPattern = time.length() > 4 ? "hhmmssSS" : "hhmm";
SimpleDateFormat sdf = new SimpleDateFormat(splitPattern);
return sdf.parse(time);
}
的更多信息:SimpleDateFormat api
基於長度決定*格式輸入*並使用'SimpleDateFormat'來解析和**驗證**輸入 –
是的,這就是我已經做的。但我正在尋找更好的方法來做:) –
建議的方式有什麼問題? –