문제

String 행을 다른 열로 Excel로 꺾어야합니다. 내가 얻는 TE 입력이 있습니다.

입력 :

  • 37006 II 학기 p.g. 디플로마의 임상 연구 및 임상 데이터 관리 시험, 7 월 / 8 월 2012 Pharma 규제 업무 시간 : 최대 3 시간. 마크 : 100

출력 : 구조가있는 CSV 레코드 (코드, SEM / 년, 주제, 코스, 시험 날짜, 시간, 마크)

  • 37006, II 학기, P.g. 디플로마 임상 연구 및 임상 데이터 관리, 7 월 / 8 월 2012, 3 시간, 100

나는 위의 선을 구성하는 다른 세트에 데이터가 있습니다. 예 :

문법 (이것은 어레이 / 사전입니다) :

  • 학기 [I, II, III, IV, V, VI, VII, VIII, IX, X, 1,2,3,4,5,6,7,8,9,10]
  • years [I, II, III, IV, V, VI, VII, VIII, IX, X, 1,2,3,4,5,6,7,8,9,10]
  • 피험자 [p.g. 디플로마 임상 연구 및 임상 데이터 관리, ll.b]
  • 코스 [제약 규제 업무, 법 - 법학]
  • examdates [7 월 / 8 월 2012, Jan./Feb. 2013]
  • 시간 [3 시간]
  • 맥스 마크 [30,40,50,60,70,80,90,100]

fyi,

  • 나는 모든 구분 기호를 사용할 수 없거나 신뢰할 수있는 것으로 부러 뜨릴 수 있다는 것을 확신하지 못한다.
  • 텍스트가 각 줄에서 동일하거나 고정 된 길이 또는 자동차 또는 단어
  • 가 없어야합니다.

나의 가정은 단어로 단어를 읽고 내가 가진 배열의 어떤 단어와 일치 시키려고 노력합니다. 단어와 일치하는 경우 해당 단어를 떨어지는 범주로 분류하고 Excel의 관련 열에 추가하십시오.

여기에서는 최적화 된 / 가장 좋은 방법이 무엇인지 제외하고는 데이터와 모든 것을 처리하는 방법을 알고 있습니다. 각 단어가 어떤 카테고리에서 떨어지는 것을 이해합니다.

이 생각에 어떤 생각을 공유 할 수있는 어휘 분석 전문가가 있습니까?

도움이 되었습니까?

해결책

그러한 복잡한 텍스트 패턴과 일치하는 정규 표현식을 사용해야합니다.

다른 팁

antlr 와 같은 어휘 분석기를 살펴보십시오. 정규 표현식을 읽는 Java 또는 다른 언어를 알고 있다면, 오후 (또는 주)의 고문 이후 쉽게 해결할 수 있습니다.Java에 RegexP를 작성할 수도 있지만 Eclipse에서 사용할 수있는 Antlr 인터페이스를 향해 당신을 찔립니다.라인이 어떻게 구문 분석되고 있는지 보여줍니다.

ANTLR 또는 Java의 출력이 CSV 파일을 쓸 수 있습니다.CSV는 Excel 스프레드 시트에 데이터를 가져 오는 데 차량이 될 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top