라인을 알려진 단어로 부유하는 방법
-
21-12-2019 - |
문제
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 스프레드 시트에 데이터를 가져 오는 데 차량이 될 것입니다.