如何以最有效的方式将很长的字符串转换为字符串数组?

时间:2018-09-13 10:03:28

标签: arrays swift string

我有一个包含重复字符串元素的文本文件

@SRR1582908.1 ILLUMINA_0154:8:1101:3556:1998/1        //1 line
CCTCGCTGGTCGATTTGTTTAACCGTTTTCTGTTCAGCGCCAAAATTATTTT  //2 line
+                                                     //3 line
BCCFFFFFHHHHHIIIIIHIHGHHGGIIIIIGHHDBGHHHIIGHIIGIHIII  //4 line

和文件中的2900万个此类元素。我需要从每个元素中提取第二行到新的字符串数组中

我有一个正在执行的功能:

do
{
    let textToOpen = try String(contentsOf: chosenFile!, encoding: .utf8)
    var arrayOfTextLines = textToOpen.components(separatedBy: "\n")

    arrayOfReads = stride(from: 1, to: arrayOfTextLines.endIndex, by: 4).map{(arrayOfTextLines[$0])}
}
catch
{}

代码可以正常工作,但是对于包含2900万个元素的文件而言,速度相对较慢。

主要缺点是

var arrayOfTextLines = textToOpen.components(separatedBy: "\n")

是否有加速该功能的方法?

0 个答案:

没有答案