2013-09-28 4 views
0

나는 다음과 같은 형식의 입력 문자열 배열이 -범용 문자열에서 날짜를 구문 분석하는 방법은 무엇입니까?

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). 시간대는 무시할 수 있습니다. • 올해는 날짜가 1이어야한다 • 2005 년 해야 1900 • 월로 설정해야합니다 • 시간, 분 또는 초 따라서

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 특정 형식없이이 작업을 수행하는 그런 기능이 없다 생각하고, 내가 기반의 순수 자바를 찾는 방법에 관해서는 실제로 우둔입니다 : 위의 문자열을 출력해야 솔루션이 문제를 해결하기 위해, 누군가 친절하게 도와주세요. 또한 시간도 마찬가지입니다. 즉, 날짜와 시간의 조합으로 구성된 일반 문자열이있는 경우 해당 문자열을 어떻게 변환합니까?

+4

무엇이며 날짜지지 않습니다 결정하는 규칙은 무엇입니까? –

+0

또한 여러 배열 요소를 하나의 문자열로 결합한 것처럼 보입니다. 구체적으로 "1", "1 월", "1978"은 "19780101"로 바뀌 었습니다. 그 일은 훨씬 복잡해 지는데, 특히 첫 번째 "1"이 실제로 더 깊은 분석을하지 않고 날짜인지 알 수있는 방법이 없기 때문에 더욱 복잡해집니다. (다시 한 번 더 어려워 질 것입니다.) –

+0

예, 정확하게 문제가됩니다. 나는 그것을 실제로 슬프게도 프로젝트의 요구 사항이라고 생각한다. ( – AnkitSablok

답변

0

날짜 작성 방법 (예 : 형식)에 대한 특정 규칙이 없으면 임의의 문자열을 날짜로 변환 할 수 없습니다. 그 이유는 모호합니다. 예를 들어 :

01/02/03 

형식 yy/mm/dd에서이 2001년 2월 3일 (의이 당분간 1901의 가능성을 무시하자)입니다. 형식 mm/dd/yy이 1 월 1 일이다에서

, 2003

관련 문제