我正在尝试分隔,
我的输入是21, May, 2012
我的输出应该是的空间2012-May-21
。
String s = args[0];
String[] s1 = s.split(",\\s+");
System.out.print(s1[2] + "-" + s1[1] + "-" + s1[0]);
如果我只写,
定界符,但ArrayIndexOutOfBoundsException
在尝试将空格作为定界符时,它会起作用。
由于这两个,
,空格都是可选的,如评论中所述。
String[] s1 = s.split(",|\\s+");
虽然我不会使用正则表达式来解析日期
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);
您也可以使用String#replaceAll执行此操作:
s.replaceAll(",\\s*", "-");
尝试这个,
String date = " 21 , May, 2012";
String[] s1 = date.split(",\\s*");
System.out.println(s1[2].trim() + "-" + s1[1].trim() + "-" + s1[0].trim());