文字列の長さを取得する

Swiftの文字列の長さは絵文字などが入った場合、countでは正確に取れないそうです。
なので、以下ようにすることで正確に取れるようになります。

extension String {
    
    var enumerateSubstringsCount: Int {
        var len = 0
        enumerateSubstrings(in: startIndex ..< endIndex, options: .byComposedCharacterSequences) { str, _, _, _ in
            if str != nil {
                len += 1
            }
        }
        return len
    }
}

"hello".enumerateSubstringsCount

参照ページ:
https://dev.classmethod.jp/articles/swift-string-length/