Swift2でStringを指定した文字で分割
beta5でsplitの仕様がちょっと変わり、以下のようにすることで文字列を分割できます。
let string1 = "hoge" let string2 = string1.characters.split("o").map{ String($0) } // [h, ge]
Swift2からStringはCollectionTypeではなくなり、Stringの保持するcharactorsがCollectionTypeになっています
Strings in Swift 2 - Swift Blog - Apple Developer
Swift1系
struct String { init() } extension String : CollectionType {
Swift2
extension String { /// A `String`'s collection of `Character`s ([extended grapheme /// clusters](http://www.unicode.org/glossary/#extended_grapheme_cluster)) /// elements. public struct CharacterView { /// Create a view of the `Character`s in `text`. public init(_ text: String) } /// A collection of `Characters` representing the `String`'s /// [extended grapheme /// clusters](http://www.unicode.org/glossary/#extended_grapheme_cluster). public var characters: String.CharacterView { get } ... extension String.CharacterView : CollectionType, Indexable, SequenceType { /// A character position.
splitはCollectionTypeのメソッドで仕様は以下のようになっています。
CollectionType Protocol Reference
charactors.split('separator') だけだと結果はCharacterViewのArrayとなってしまうので、map{ String($0) } でStringに変換しています。