Skip to content

Instantly share code, notes, and snippets.

@michaelevensen
Last active September 6, 2022 09:03
Show Gist options
  • Save michaelevensen/07696f0857769f633f6432596e9b517f to your computer and use it in GitHub Desktop.
Save michaelevensen/07696f0857769f633f6432596e9b517f to your computer and use it in GitHub Desktop.
Simple function to return a specified amount of `Lorem Ipsum` sentences.
extension String {
static func loremIpsum(numberOfSentences sentenceCount: Int = 1) -> String {
let str: String = """
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam sit amet placerat ante. Proin purus justo, dignissim a elementum eu, gravida vitae nunc. Duis eu tincidunt elit. Cras rhoncus tellus mi, et tempor erat facilisis dignissim. Duis rutrum vel leo nec dignissim. Donec sollicitudin, nisl vel accumsan tincidunt, urna ligula tristique leo, molestie aliquam orci massa at metus. Etiam facilisis leo lacinia orci tempor, ac vehicula libero pulvinar. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Morbi ligula magna, tempus ullamcorper magna in, mollis sodales elit. Nunc ornare suscipit quam, quis tempus dolor semper in.
Morbi dignissim mauris fringilla arcu pharetra pulvinar. Cras orci orci, convallis tincidunt fermentum vel, semper aliquet sapien. Maecenas ipsum nulla, aliquam vel nisl et, porttitor luctus felis. Aliquam dolor orci, molestie id sem non, commodo pharetra eros. Etiam felis libero, fringilla et scelerisque et, fringilla nec turpis. Pellentesque tristique, metus vitae malesuada bibendum, arcu lacus semper urna, eget semper neque risus et nisl. Aliquam eu tempus magna, at scelerisque ex. Sed ultrices aliquet magna, non pulvinar metus sagittis sed. Suspendisse potenti. In ut congue leo. Etiam molestie vitae sem a vestibulum. Fusce non nisi in velit tempus tempor vel sed tortor. Suspendisse eu commodo sapien. Phasellus commodo tempor commodo. In ornare magna quam, ac facilisis metus sollicitudin in. Cras consectetur felis ultrices purus tempus sodales.
Sed porttitor, metus at lobortis pulvinar, tellus orci semper nisl, non venenatis lorem metus quis nisl. Curabitur fringilla, justo ut tincidunt imperdiet, turpis enim scelerisque orci, et interdum odio augue sit amet quam. Pellentesque tempor lectus nec arcu tempor, non euismod tellus euismod. Aenean diam neque, semper at bibendum vitae, luctus vel enim. Donec quis convallis est, ac pharetra diam. Cras porta semper nunc, vel consequat mi vestibulum nec. Interdum et malesuada fames ac ante ipsum primis in faucibus. Donec pellentesque ultrices nibh at hendrerit. Nulla imperdiet fringilla purus et iaculis.
"""
var sentences = [String]()
str.enumerateSubstrings(in: str.startIndex..., options: .bySentences) { s,_,_,_ in
guard let sentence = s else { return }
sentences.append(sentence)
}
return sentences
.prefix(sentenceCount)
.joined(separator: " ")
.trimmingCharacters(in: .whitespacesAndNewlines)
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment