How to split array objects into two(or 2d array) by seperation character

后端 未结 3 1131
误落风尘
误落风尘 2021-01-24 22:05

I want to split an array like shown below.

let arrayToSplit = [\"Europe|#|France|#|Paris\", \"Europe|#|Italy|#|Rome\", \"America|#|USA|#|Washington\", \"America|         


        
3条回答
  •  夕颜
    夕颜 (楼主)
    2021-01-24 22:45

    Not the best solution, but with the expected result (hints are in the code comments):

    let arrayToSplit = ["Europe|#|France|#|Paris", "Europe|#|Italy|#|Rome", "America|#|USA|#|Washington", "America|#|Canada|#|Ottawa"]
    var firstArray = [String]()
    var secondArray = [String]()
    var thirdArray = [String]()
    
    for element in arrayToSplit {
    
        // new array with substrings divided by "|#|" e.g. ["Europe", "Europe", "America", "America"]
        let newArray = element.componentsSeparatedByString("|#|")
        firstArray.append(newArray[0])
        secondArray.append(newArray[1])
        thirdArray.append(newArray[2])
    }
    
    print("first array: \(firstArray)") // first array: ["Europe", "Europe", "America", "America"]
    print("second array: \(secondArray)") // second array: ["France", "Italy", "USA", "Canada"]
    print("third array: \(thirdArray)") // third array: ["Paris", "Rome", "Washington", "Ottawa"]
    

提交回复
热议问题