class GetNumber{
public static void main(String[] args){
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
String str = sdf.format(new Date());
System.out.println(str);// 2008/01/24 13:23:50
String[] result = str.split("\\D");
for(int i = 0;i<result.length;i++){
System.out.println(result[i]);
/*2008
*01
*24
*13
*23
*50
*/
}
}
}正则表达式\D是匹配0`9之间的任意一个数字,但是str.split("\\D")为什么会返回这么样一个结果呢?
public static void main(String[] args){
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
String str = sdf.format(new Date());
System.out.println(str);// 2008/01/24 13:23:50
String[] result = str.split("\\D");
for(int i = 0;i<result.length;i++){
System.out.println(result[i]);
/*2008
*01
*24
*13
*23
*50
*/
}
}
}正则表达式\D是匹配0`9之间的任意一个数字,但是str.split("\\D")为什么会返回这么样一个结果呢?
最后一行是\d,不是\D,可以结贴了
从所有非数字字符把2008/01/24 13:23:50劈开(split)就得到了打印的结果(数组)
\\D 表示所有非数字字符 我认为你的\\D是你想要的结果