yyyyMMdd_HHmm_ss_unitCode_(ステータス)という形式の文字列があります。 各コンポーネントを専用クラスのプロパティにマップする必要があります。トークン化文字列
私はトークンを次のような正規表現で定義することを考えました: {d+}4{d+}2{d+}2_{d+}2_{d+}2_{s+}3_{s+}2
=>おおよその正規表現の構文を謝ります.dは10進数で、sは文字列です。
最初のグループ{d+}4
はクラスの年属性に、2番目の値は "月"に、等しくなければならないことをパーサーに伝えることはできますか?
明らかに、私はちょうどこれを行うことができます:token.setYear(substring(0,4))
私はファイル名の構造を制御できないので、少し一般的になりたかったです。 私はまた、startPosition、endPosition、格納してタイプする属性名を持つxml構造体を定義することも考えました。
全体的に、私はこのすべてを非常に複雑に思っていました。問題は、私にString.split
を使用できるようにする単一の区切りがないことです。
、あなたは正規表現を使用する予定あなたは文字列の構造を知らないのですか?これは本当に混乱しています。文字列の構造がわからない場合は、文字列を解析する方法がわかりません。 –
良い質問です。私が得ることのないことの1つ:「私はファイル名の構造を制御できません」。だから文字列はファイル名ですか? – paislee
私は構造が変わることがあることを知っています。そのため、構造が変わるとコードを適合させるために正規表現を使って定義したいのです。 –