![](/img/trans.png)
[英]Using Regex in String.matches in java to match a date format
[英]Format String date with regex
我有代表日期201510251010
2015/10/25 10:10
的字符串201510251010
。 我想用第二種格式獲取日期為String。
我有以下代碼:
String myString = "201510151235";
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmm");
SimpleDateFormat dateFormat2 = new SimpleDateFormat("yyyy-MM-dd HH:mm");
Date d = dateFormat.parse(myString);
String s = dateFormat2.format(d);
它有效,但是我認為這是丑陋的代碼。 有沒有辦法用正則表達式和replaceAll
或類似的東西做同樣的事情?
您可以嘗試
String myString = "201510151235";
String formatted = myString.replaceAll("(\\d{4})(\\d{2})(\\d{2})(\\d{2})(\\d{2})",
"$1-$2-$3 $4:$5");
//or "$1/$2/$3 $4:$5");
但我懷疑它看起來比您的可讀性更好,並且它肯定不如SimpleDateFormat
安全。
對於日期,AFAIK最好使用日期時間對象而不是正則表達式來解析它們,因為通過這種方式,您還可以支持不同的文化日期,否則對於不同的文化,模式可能會有所不同。 因此,您的方式對我來說看起來不錯。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.