0
我知道如何在Java中使用SimpleDateFormat。但是,解析所有日期中有一些字母的最好方法是什麼?如下所示:「2014年5月25日」,「2014年5月3日」,「2014年5月1日」。你看到字母可能有什麼不同?所以我不想爲每個數字結尾創建單獨的formater。在Java中是否是更好的方法?如何在日期編號後用字母解析日期
我知道如何在Java中使用SimpleDateFormat。但是,解析所有日期中有一些字母的最好方法是什麼?如下所示:「2014年5月25日」,「2014年5月3日」,「2014年5月1日」。你看到字母可能有什麼不同?所以我不想爲每個數字結尾創建單獨的formater。在Java中是否是更好的方法?如何在日期編號後用字母解析日期
您可以使用replaceAll
將它們全部轉換爲通用格式,然後將其放入單個格式器字符串中。
theDate = theDate.replaceAll("(?:(st|nd|rd|th))","xx");
if (theDate.contains("guxx")) // Handle fixing "August" becoming "Auguxx"
theDate = theDate.replace("guxx","gust");
這將改變1st 2nd 3rd 4th 5th
到1xx 2xx 3xx 4xx 5xx
。現在你可以在你的模式中使用靜態字符串'xx'。
Augu'st'和那個正則表達式有什麼關係?它會變成Auguxx嗎?我想這個假設是先按空格分割,然後只處理日期中的那一天。 – ThisClark
好的。如果發生這種情況,現在使用更便宜的'替換'處理。謝謝@ThisClark。 –