计算Swift文件中的行

时间:2016-04-17 19:57:12

标签: ios swift

我正在尝试计算我的文件中有多少行数据,我正在使用这段代码来执行此操作:

data = try String(contentsOfFile: localFilePath as String,
                          encoding: NSASCIIStringEncoding)
let textArr = data.componentsSeparatedByString("\r")
        let myCount = textArr.count
        print(myCount)

然而,无论我的文件中有多少行文本,它似乎总是打印1。我在这里做错了什么?

2 个答案:

答案 0 :(得分:6)

我们可以猜测这些行是否被'\r''\n'或其他任何内容拆分,或者我们可以明智地使用新行字符集:

let newLineSet = NSCharacterSet().newLineCharacterSet()
let textArr = data.componentsSeparatedByCharactersInSet(newLineSet)

答案 1 :(得分:0)

尝试将终结符更改为“\ n”。

您的文件可能具有类似Unix的行结尾。含义行将以\ n。

结束 类似Unix的系统(例如OS X和iOS)通常使用\ n终止行。 Windows使用\ r \ n。

终止行

来源:https://en.wikipedia.org/wiki/Newline#Representations