【发布时间】:2014-03-30 16:07:20
【问题描述】:
我有日期字符串,格式如下:2014-Mar-30。我想把它分成 3 个字符串:2014, Mar, 30。有什么聪明的方法吗? (java)
【问题讨论】:
我有日期字符串,格式如下:2014-Mar-30。我想把它分成 3 个字符串:2014, Mar, 30。有什么聪明的方法吗? (java)
【问题讨论】:
试试这个方法:
String[] arr = strDate.split("-");
String strYear = arr[0];
String strMonth = arr[1];
String strDay = arr[2];
【讨论】:
I want to separate it into 3 strings: 2014, Mar, 30 - 所以他/她只想要 3 个字符串
int 显然是这种情况下有用的类型。当程序员无缘无故地将所有内容都变成字符串时,我真的很讨厌。或者,在这种情况下,是一个消极的原因。
对于您的具体情况,快速而肮脏的方法是使用String.split('-')。 (如@Vyger)
但是,更可靠的方法可能是使用正则表达式并搜索连续 4 个数字、连续 3 个字母以及剩余的任何内容(1 或 2 个数字)。这样你就可以处理很多似是而非的替代方案,比如
“2014 年 3 月 30 日”甚至“2014 年 3 月 30 日”
【讨论】:
我倾向于使用这样的东西。
String totalString = "2014-Mar-30";
String yearString = totalString.substring(0, totalString.indexOf('-'));
String monthString = totalString.substring(totalString.indexOf('-') + 1, totalString.lastIndexOf('-'));
String dayString = totalString.substring(totalString.lastIndexOf('-') + 1);
希望这会有所帮助:)
【讨论】: