次の形式の入力文字列配列があります-
stringArray1 = {"Vidya", "Balan", "born", "1", "January","1978","is","an","Indian", "actress."}
stringArray2 = {"President", "Franklin", "D.", "Roosevelt","to","proclaim","December", "7,", "1941,","'a","date","which", "will","live", "in","infamy'"}
stringArray3 = {"The", "Academy", "operated", "until","it","was","destroyed", "by", "Lucius", "Cornelius","Sulla","in", "84", "BC"}
そして、これらの文字列配列に次のルールを適用できるようにしたい:
日付はすべて、日付の場合は yyyymmdd 形式に、タイム スタンプの場合は HH:mm:ss 形式に変換する必要があります (両方を組み合わせた場合は yyyymmdd HH:mm:ss)。タイム ゾーンは無視できます。フィールドが存在しない場合は、次のデフォルトを使用する必要があります。 • 年は 1900 に設定する必要があります。 • 月は 1 月にする必要があります。 • 日付は 1 日にする必要があります。 • 時、分、または秒は 00 にする必要があります。
したがって、上記の文字列の出力は次のようになります。
stringOutput1 = { "Vidya", "Balan", "born","19780101","is","an", "Indian","actress." }
stringOutput2 = { "President", "Franklin", "D.","Roosevelt","to","proclaim", "19411207,", "'a","date","which", "will", "live", "in", "infamy'"}
stringOutput3 = { "The", "Academy", "operated","until", "it", "was", "destroyed", "by","Lucius","Cornelius", "Sulla", "in","-00840101"}
これにSimpleDateFormatterを使用してみましたが、SimpleDateFormatterには特定のフォーマットなしでこれを行う機能はないと思います.この問題を解決するための純粋なJavaベースのソリューションを見つける方法については実際にはわかりません.誰かが親切に助けてくれます. 時間の場合も同様です。つまり、日付と時刻の組み合わせで構成される一般的な文字列がある場合、それらの文字列をどのように変換すればよいでしょうか。