Skip to content

Instantly share code, notes, and snippets.

@kateinoigakukun
Created December 31, 2016 13:19
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kateinoigakukun/c2826e7605f738fc31b9063264e70033 to your computer and use it in GitHub Desktop.
Save kateinoigakukun/c2826e7605f738fc31b9063264e70033 to your computer and use it in GitHub Desktop.
ツイート文字数カウント #CodePiece
import UIKit
extension String {
var length: Int {
return self.characters.count
}
fileprivate var short_url_length: Int {
return 23
}
var tweetCount: Int {
guard let url_regex = try? NSRegularExpression(pattern: "https?://[\\w/:%#\\$&\\?\\(\\)~\\.=\\+\\-]+", options: .caseInsensitive) else {
return 0
}
let url_regex_result = url_regex.matches(in: self, range: NSRange(location: 0, length: self.length))
let url_count = url_regex_result.count
let original_url_text = url_regex_result.reduce(0) {
$1.range.length+$0
}
return self.length - original_url_text + short_url_length * url_count
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment