在源代码中循环多个实例?

时间:2016-09-29 22:29:45

标签: swift string

我正试图从某些源代码中提取信息。

视图源:http://www.championcounter.com/mordekaiser

有多次出现这样的事情:

alt =“Mordekaiser反击Talon”>

alt =“Mordekaiser专柜Akali”>

我正在寻找“Talon”和“Akali”。

我现在可以得到列表中的第一个人,在这种情况下Talon:

let sourceArray = sourcecode.components(separatedBy: "alt="Mordekaiser counters")
let sourceArray2 = sourceArray[1].components(separatedBy: ""/>div>")
let champ = sourceArray2[0]

我的问题是,这显然会分解源代码,如

Talon之前的一切------- Talon ------- Talon之后的一切

而我只是抓住了Talon。

然后我如何继续筛选源代码以获取所有被相同“separateBy”代码包围的下一个项目?

1 个答案:

答案 0 :(得分:1)

如果您第一次使用正则表达式来取出所有"计数器"那么您将会有更轻松的时间。信息,像这样(警告,这是Swift 2.2,而不是Swift 3):

self.navItems = [  
  { title: 'item1', bgUrl: 'img1.jpg' },
  { title: 'item2', bgUrl: 'img2.jpg' },
  { title: 'item3', bgUrl: 'img3.jpg' },
  { title: 'item4', bgUrl: 'img4.jpg' },
  { title: 'item5', bgUrl: 'img5.jpg' }
];

结果是一个字符串数组:

  <&#34; Cassiopeia专柜Mordekaiser&#34;,&#34; Lux专柜Mordekaiser&#34;,&#34; Yorick专柜Mordekaiser&#34;,&#34; Xerath专柜Mordekaiser&#34;,&# 34; Malzahar专柜Mordekaiser&#34;,&#34; Illaoi专柜Mordekaiser&#34;,&#34; Mordekaiser专柜Talon&#34;,&#34; Mordekaiser专柜Malphite&#34;,&#34; Mordekaiser专柜Akali&# 34;,&#34; Mordekaiser反击Diana&#34;,&#34; Mordekaiser专柜Kassadin&#34;,&#34; Mordekaiser专柜Gragas&#34;]

现在你已经有了一些东西,你可以用一种有用的方式开始解析对。