2

,と スペースを区切ろうとしています 私の入力は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、区切り記号としてスペースを使用しようとすると取得されます。

4

3 に答える 3

6

,コメントに記載されているように、スペースはオプションです。

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);
于 2013-09-18T06:55:27.860 に答える