Last active
September 11, 2015 22:04
-
-
Save erica/5cd0943b2ba958b2aa69 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Split | |
extension String { | |
public func split( | |
maxSplit: Int = .max, | |
allowEmptySlices: Bool = false, | |
@noescape isSeparator: ((Character) throws -> Bool)) rethrows -> [String] { | |
return try self.characters.split( | |
maxSplit, | |
allowEmptySlices: allowEmptySlices, | |
isSeparator: isSeparator) | |
.map({String($0)}) | |
} | |
public enum StringSplitError : ErrorType {case MissingCharacter} | |
public func split(characterString: String) throws -> [String] { | |
guard let c = characterString.characters.first else {throw StringSplitError.MissingCharacter} | |
return self.split{$0 == c} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment