diff --git a/site/posts/2019-01-02-reincarnation.md b/site/posts/2019-01-02-reincarnation.md index bfae390..c891ce7 100644 --- a/site/posts/2019-01-02-reincarnation.md +++ b/site/posts/2019-01-02-reincarnation.md @@ -7,38 +7,3 @@ metadata.date = "2019-01-02 23:02:42 -0400" Welcome, to ***Reincarnation***. `// TODO: write the actual blog post` - -```swift -import Foundation - -public struct CharacterCounter { - - static let linkDetector = try! NSDataDetector(types: NSTextCheckingResult.CheckingType.link.rawValue) - static let mention = try! NSRegularExpression(pattern: "(@[a-z0-9_]+)(?:@[a-z0-9\\-\\.]+[a-z0-9]+)?", options: .caseInsensitive) - - public static func count(text: String) -> Int { - let mentionsRemoved = removeMentions(in: text) - var count = mentionsRemoved.count - for match in linkDetector.matches(in: mentionsRemoved, options: [], range: NSRange(location: 0, length: mentionsRemoved.utf16.count)) { - count -= match.range.length - count += 23 // Mastodon link length - } - return count - } - - private static func removeMentions(in text: String) -> String { - var mut = text - for match in mention.matches(in: mut, options: [], range: NSRange(location: 0, length: mut.utf16.count)).reversed() { - let replacement = mut[Range(match.range(at: 1), in: mut)!] - mut.replaceSubrange(Range(match.range, in: mut)!, with: replacement) - } - return mut - } - -} -``` - -
- Test -
Example photo
-
\ No newline at end of file