皆さん、次のようなプレーン テキストのデータ セットがあるとします。
==Events==
* [[312]] – [[Constantine the Great]] is said to have received his famous [[Battle of Milvian Bridge#Vision of Constantine|Vision of the Cross]].
* [[710]] – [[Saracen]] invasion of [[Sardinia]].
* [[939]] – [[Edmund I of England|Edmund I]] succeeds [[Athelstan of England|Athelstan]] as [[King of England]].
*[[1275]] – Traditional founding of the city of [[Amsterdam]].
*[[1524]] – [[Italian Wars]]: The French troops lay siege to [[Pavia]].
*[[1553]] – Condemned as a [[Heresy|heretic]], [[Michael Servetus]] is [[burned at the stake]] just outside [[Geneva]].
*[[1644]] – [[Second Battle of Newbury]] in the [[English Civil War]].
*[[1682]] – [[Philadelphia]], [[Pennsylvania]] is founded.
NSDictionary
年 (左側の数字) を抜粋 (右側のテキスト) にマッピングできるように、何らかの形のコレクションを作成したいと考えています。これが「テンプレート」のようなものです:
*[[YEAR]] – THE_TEXT
[[
ただし、抜粋はプレーン テキスト、つまり wiki マークアップがないため、セットもありません。実際、これは などのエイリアス リンクでは難しいことがわかります[[Edmund I of England|Edmund I]]
。
私は正規表現の経験があまりないので、いくつか質問があります。最初にデータの「美化」を試みる必要がありますか? たとえば、常に となる最初の行を==Events==
削除し、[[
との]]
出現を削除しますか?
または、おそらくより良い解決策:これをパスで行う必要がありますか? たとえば、最初のパスでは、各行を* [[710]]
とに分けることができ[[Saracen]] invasion of [[Sardinia]]
ます。それらを別の に保存しますNSArrays
。
次に、最初の年を経てNSArray
、テキストのみを取得します[[]]
(紀元前530年になる可能性があるため、数値ではなくテキストと言います)。* [[710]]
710
そして、抜粋については、NSArray
を調べて、[[some_article|alias]]
が見つかった場合は[[alias]]
、それをなんとかしてだけにしてから、[[
と]]
セットをすべて削除しますか?
これは可能ですか?正規表現を使用する必要がありますか? 役立つ正規表現のアイデアはありますか?
ありがとう!ほんとうにありがとう。
編集:混乱して申し訳ありませんが、上記のデータのみを解析したいです。これが、私が遭遇する唯一のタイプのマークアップであると想定してください。これを行う既存のライブラリがすでに存在しない限り、私は一般的に wiki マークアップを解析することを必ずしも楽しみにしているとは限りません。再度、感謝します!