Maver1ck
Maver1ck

Reputation: 181

Convert a String to an array of characters swift 2.0

I need to convert a string into an array of characters. This work in Swift 1.2 and lower but doesn't since Swift 2.0

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

Upvotes: 16

Views: 18282

Answers (3)

Florent Bodel
Florent Bodel

Reputation: 111

First, use the characters property of String struct :

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

You get an CharacterView instance. To access to an element of charView, you have to use String.CharacterView.Index. If you want to convert this to an array of String, do this :

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

Now, you have an array of type [String] :

arr[0] // => "H"

Upvotes: 11

Qbyte
Qbyte

Reputation: 13243

You have to use the characters property of String since it is no longer a SequenceType:

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

Upvotes: 9

Matteo Piombo
Matteo Piombo

Reputation: 6726

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

Hope this helps

Upvotes: 32

Related Questions