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/