大家好,给定一个纯文本数据集,如下所示:
==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==
,并删除[[
and]]
出现?
或者也许是一个更好的解决方案:我应该在通行证中这样做吗?因此,例如,第一遍我可以将每一行分成* [[710]]
和[[Saracen]] invasion of [[Sardinia]]
。并将它们存储到不同的NSArrays
.
然后经历第一NSArray
年,只得到文本[[]]
(我说文本而不是数字,因为它可能是公元前 530 年),所以* [[710]]
变成710
.
然后对于 excerpt NSArray
,通过,如果[[some_article|alias]]
找到 an ,使其仅以[[alias]]
某种方式存在,然后删除所有[[
and]]
集?
这可能吗?我应该使用正则表达式吗?对于正则表达式,您有什么想法可能会有所帮助吗?
谢谢!对此,我真的非常感激。
编辑:很抱歉造成混淆,但我只想解析上述数据。假设这是我会遇到的唯一类型的标记。我不一定期待解析 wiki 标记,除非已经有一个预先存在的库可以做到这一点。再次感谢!