2017-02-27 73 views
0

为了好玩,我正在帮助我的学校创建一个应用程序,让所有课程取消供学生使用。从我的IT技术人员我得到了包含类名,教师和其他信息相当复杂的结构看起来像这样:将文本转换为数组 - Swift

3818,"20170217",5,752,64,"Rh",,"fr_2",,,,"iV5",,,"IS10a~IS10b~IS10c~IS10d","Z",,1,"IS10a~IS10b~IS10c~IS10d",C,201702161517,"-" 

3819,"20170217",6,752,102,"Rh",,"fr",,,,"iB3","iB3",,"IT10a","Z",,0,"IT10a",,201702161517,"-" 

3820,"20170217",8,752,119,"Rh",,"fr",,,,"iC1.2","iC1.2",,"IS6a","Z",,0,"IS6a",,201702161517,"-" 

3821,"20170227",2,753,207,"Dd","Kru","sc",,,,"iB8","iB8",,"IS9b","Z",,2097152,"IS9b",,201702270804,"+~-" 

3822,"20170227",3,753,8,"Dd",,"phH_1",,,,"iB8",,,"IS12~IT12","Z",,2097153,"IS12~IT12",C,201702270804,"-" 

3823,"20170227",4,753,29,"Dd",,"phH_1",,,,"iB8",,,"IS11~IT11","Z",,2097153,"IS11~IT11",C,201702270804,"-" 

3824,"20170227",5,753,30,"Dd",,"phH_1",,,,"iB8",,,"IS11~IT11","Z",,2097153,"IS11~IT11",C,201702270804,"-" 

3825,"20170227",6,753,7,"Dd",,"phH_1",,,,"iB8",,,"IS12~IT12","Z",,2097153,"IS12~IT12",C,201702270804,"-" 

3826,"20170227",7,753,327,"Dd",,"COV",,,,"AC1",,,,"Z",,2097153,,,201702270803, 

3827,"20170227",8,753,46,"Dd",,"ph_1",,,,"iB8",,,"IS10a~IS10b~IS10c~IS10d~IT10a~IT10b","Z",,2097153,"IS10a~IS10b~IS10c~IS10d~IT10a~IT10b",C,201702270804,"-" 

从这个数据,我需要得到各个部分,如“20170217”,并把它们变成一个数组供以后使用。我最好怎么做?对于任何关心的人,我在下面添加了完整的代码片段!

https://jsfiddle.net/pztwfsq1/

+1

斯文嗨,#2是一个伟大的地方去,当你第一次尝试了一些东西。如果您尝试过但仍然失败,请记录您尝试过的内容。 SO社区可能不会回答这个问题。 – ajmccall

+0

感谢大家的建议,我在这里是一个新的。然后,我要检查CSV。很有帮助! –

回答

3

由于是每行一个数据集,你可以通过所有行迭代。将每行分割为,,您将获得一组信息。

此类似(给你的想法):

let row = "1,Peter,5,92,,Brooklyn" 
let data = row.components(separatedBy: ",") 

let name = data[1] // Peter 
let location = data[5] // Brooklyn