我试图划分,和空间我的输入是21, May, 2012我的输出应该是2012-May-21.
String s = args[0];
String[] s1 = s.split(",\\s+");
System.out.print(s1[2] + "-" + s1[1] + "-" + s1[0]);
Run Code Online (Sandbox Code Playgroud)
它是工作,如果我只写,分隔符,但ArrayIndexOutOfBoundsException在尝试空格作为分隔符时获取.
由于两者,,空间是可选的,如评论中所述.
String[] s1 = s.split(",|\\s+");
Run Code Online (Sandbox Code Playgroud)
虽然我不会使用正则表达式来解析日期
input=input.replaceAll("\\s*","");//remove any space if any
java.util.Date date= (new SimpleDateFormat("dd,MMM,yyyy")).parse(input);
String output=(new SimpleDateFormat("yyyy-MMM-dd")).format(date);
Run Code Online (Sandbox Code Playgroud)