Swift:由字符串分隔的组件

时间:2015-04-17 10:22:16

标签: ios swift

我有一个日志文件,例如:
000124 14:44:54:370文本IO文本文本文本
     文本文本

文本文本


000125 14:44:54:370文本IO文本文本文本文本文本

texttext
000126 14:44:54:370文本IO文本文本文本

我使用此代码将此文本拆分为数组:

let path = NSBundle.mainBundle().pathForResource("log file", ofType: "log")
var text = String(contentsOfFile: path!, encoding: NSUTF8StringEncoding, error: nil)!
var textArr = text.componentsSeparatedByString("\r\n0")
var lines = textArr.count

但有时候日志文件变得非常大而且会发生这种情况: 099999 14:44:54:370文本IO文本文本文本
     文本文本

文本文本


100000 14:44:54:370文本IO文本文本文本
100001 14:44:54:370文本IO文本文本文本

我想做的是拥有一个像这样的代码:

var textArr = text.componentsSeparatedByString("\r\n0" OR "\r\n1")

有可能吗?或者我的问题的任何其他解决方案?

1 个答案:

答案 0 :(得分:0)

我通过这样做“解决”它,也许不是最聪明的方式,但似乎工作正常:

var text = String(contentsOfFile: path!, encoding: NSUTF8StringEncoding, error: nil)!
var textArr = text.componentsSeparatedByString("\r\n0")
var lines = textArr.count
var textArrLarge = textArr[lines-1].componentsSeparatedByString("\r\n1")
var linesLarge = textArrLarge.count
var linesTot = lines + linesLarge-1
var textArrTot = textArr + textArrLarge
textArrTot.removeAtIndex(lines)