将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]