2015-07-21 136 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)}對我來說工作正常 –