2015-07-21 135 views
14

我需要将字符串转换为字符数组。这项工作在斯威夫特为1.2或更低,但并不因为雨燕2.0将字符串转换为一个字符数组swift 2.0

var myString = "Hello" 
Array(myString) // ["H", "e", "l", "l", "o"] 
+0

见http://stackoverflow.com/questions/25921204/convert-swift-string-to-array,它已被更新为Swift 2. –

回答

30
var myString = "Hello" 
let characters = [Character](myString.characters) // ["H","e","l","l","o"] 

希望这有助于

+0

为什么我几天前没有找到它。更优雅! –

+0

不错。还不如把它做成计算VAR:'扩展名的String { VAR charValues:【性状】{ 获得{ 后卫self.isEmpty否则{ 回报【性状】(self.characters) } 回报[] } } }' – murphguy

9

你必须使用的Stringcharacters的性能,因为它不再是一个SequenceType

var myString = "Hello" 
let charactersArray = Array(myString.characters) 
10

首先,使用characters属性String结构:

let str = "Hello World" 
var charView = str.characters 

您得到一个CharacterView实例。要访问charView的元素,您必须使用String.CharacterView.Index。如果你想将其转换为的String数组,这样做:

let str = "Hello World" 
var arr = str.characters.map { String($0) } 

现在,你有[String]类型的数组:

arr[0] // => "H" 
+0

superb answer {String($ 0)}对我来说工作正常 –

相关问题