将string转换为Int数组

我有这种types的string,例如:

var test:String = "[1, 0, 4]"; 

我需要将其转换为一个Int数组:

 var testConverted:[Int] = [ 1, 0, 4 ]; 

您将需要通过使用stringByTrimmingCharactersInSet修剪开始和结束括号,然后使用stringByTrimmingCharactersInSet获取string元素数组。 然后你可以最终使用flatMap从这里创build一个整数数组。

例如:

 let yourString = "[1, 0, 4]" // trim off the start and end brackets of the string – then obtain an array of elements by using componentsSeparatedByString let arrayOfStrings = yourString.stringByTrimmingCharactersInSet(NSCharacterSet(charactersInString: "[]")).componentsSeparatedByString(", ") // flatMap the arrayOfStrings to an array of integers, filtering out any strings that cannot be represented as numbers let arrayOfInts = arrayOfStrings.flatMap{Int($0)} print(arrayOfInts) 

尝试这个:

 var test = "[1, 0, 4]" test = test.substringToIndex(test.endIndex.advancedBy(-1)).substringFromIndex(test.startIndex.advancedBy(1)) var result = test.componentsSeparatedByString(", ").flatMap {Int($0)} print(result) // [1, 0, 4]