Ios Swift:由字符串分隔的组件
我有一个日志文件,例如: 000124 14:44:54:370文本IO文本 文本文本文本 文本文本文本 000125 14:44:54:370文本IO文本 文本 000126 14:44:54:370文本IO文本 我使用以下代码将此文本拆分为一个数组:Ios Swift:由字符串分隔的组件,ios,swift,Ios,Swift,我有一个日志文件,例如: 000124 14:44:54:370文本IO文本 文本文本文本 文本文本文本 000125 14:44:54:370文本IO文本 文本 000126 14:44:54:370文本IO文本 我使用以下代码将此文本拆分为一个数组: let path = NSBundle.mainBundle().pathForResource("log file", ofType: "log") var text = String(contentsOfFile: path!, encod
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文本
1000014:44:54:370文本IO文本
我想做的是有一个代码,它可以做这样的事情:
var textArr = text.componentsSeparatedByString("\r\n0" OR "\r\n1")
可能吗?或者我的问题有其他解决方案吗?我这样做解决了问题,也许不是最聪明的方法,但似乎效果很好:
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)
为什么需要将其拆分为\r\n0?您不能使用\r\n吗?很抱歉,这是日志文件的一个不好的示例,我现在更新了它\r\n0是唯一可以将其拆分以获取新日志行的重复内容。