Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/101.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios Swift:由字符串分隔的组件_Ios_Swift - Fatal编程技术网

Ios Swift:由字符串分隔的组件

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

我有一个日志文件,例如: 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!, 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是唯一可以将其拆分以获取新日志行的重复内容。