Skip to content

Instantly share code, notes, and snippets.



Last active Aug 26, 2015
What would you like to do?
let string = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi enim lacus, ullamcorper in gravida a, semper id dolor. Mauris quis metus id"
extension String {
public func split(
maxSplit: Int = .max,
allowEmptySlices: Bool = false,
@noescape isSeparator: ((Character) throws -> Bool)) rethrows -> [String] {
return try self.characters.split(
allowEmptySlices: allowEmptySlices,
isSeparator: isSeparator)
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(isSeparator: {$0 == c})
func dotry(block: () throws -> Void) {
do {try block()} catch {print(error)}
dotry {
let words = try string.split(" ")
//let counts = lazy(words).map(count)
let counts ={$0.characters.count})
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment