既知の言葉にラインを破る方法
-
21-12-2019 - |
質問
さまざまな列にExcelに文字列を破る必要があります。これが私が得るTE入力です。
入力:
- 37006 II学期P.G. 2012年7月/ 8月/ 8月Pharma規制課程の卒業証書の卒業証書マーク:100
出力:構造を持つCSVレコード(コード、SEM /年、件名、コース、試験日、時刻、マーク)
- 37006、II学期、P.G。臨床研究および臨床データ管理、Pharma規制課、7月/ 8月、3時間、100
私は行を上で構成する異なるセット内のデータを持っています。例えば:
文法(これは配列/辞書です):
- 学期[I、II、III、IV、V、VI、VII、VIII、IX、X、1,2,3,4,5,6,7,8,9,10]
- 年[I、II、III、IV、V、VI、VII、VIII、IX、X、1,2,3,4,5,6,7,8,9,10]
- 被験者[P.G。臨床研究と臨床データ管理、LL.B]
- コース[Pharma規則問題、法律 - 法学編 "
- 試験簿[2012年7月/ 8月、Jan./FEB)。 2013]
- 時刻[3時間]
- マックスマーク[30,40,50,60,70,80,90,100]
FYI、
- 私がその区切り文字を非常に予測不可能な、または信頼できるものとして壊すことができることはわかりません。
- テキストが各行で同じ順番になることもないか、固定長や車や単語
私の仮定は、単語で単語を読み、私が持っているアレイの任意の単語と一致するようにしてください。任意の単語と一致した場合は、その単語を下降カテゴリに分類し、Excelで該当する列に追加します。
ここでは、最適化された/最適な方法があるものを除いて、データとすべてを処理する方法を知っています。 各単語がどのカテゴリの下にあるかを理解する
これについてのいくつかの考えを共有できる字句解析専門家はありますか?
解決
そのような複雑なテキストパターンをマッチングするために正規表現を使用する必要があります。
他のヒント
ANTLR のような字句解析装置を見てください。正規表現を読んでいるJavaまたは他の言語を知っている場合は、午後(または週)の後にこれらを簡単に解析することができます。RegexpをJavaに書くこともできますが、Eclipseから使用することができるAntLRインターフェイスに向かってあなたをナッジします。行の解析方法について説明します。
ANTLRまたはJavaの出力はCSVファイルを書き出す。CSVはあなたのデータをExcelスプレッドシートに入手するためにあなたの車になるでしょう。
所属していません StackOverflow