该字符串包含一组字符。字符可以是普通字母或Unicode字符。字符串的长度是对字符串中字符数量的计算。例如,如果一个字符串是 "abc",那么一个字符串的长度就是3。
在Swift中查找字符数
有两种类型的字符串。一种是由普通字母组成的字符串,没有Unicode和emoji字符;第二种是包含Unicode字符的字符串。
我们有多种方法可以找到一个字符串的长度。
字符串包含一个count 属性,在Swift 4版本中返回字符串中的字符数。
如果字符串包含Unicode字符,count属性不会给出正确的计数。
你可以使用String.utf8.count 和String.utf16.count 来计算unicode字符。
String.utf8.count:返回具有UTF-8表示法的单码字符 String.utf16.count:返回具有UTF-16表示法的单码字符
下面是一个在Swift中查找字符数的示例程序
var name: String = "John"
var message: String = "Hello😀"
print(name.count) //4
print(name.utf8.count)//4
print(name.utf16.count)//4
print(message.count)//6
print(message.utf8.count)//9
print(message.utf16.count)//7
同样地,你可以使用String.characters.count 属性来计算swift 2和3版本的字符串中的字符。
unicodeScalars.count返回Unicode字符数为1。
让我们看看用不同方法计算Unicode字符数的例子。
var str: String = "😀"
print(str.count) //1
print(str.unicodeScalars.count)//1
print(str.utf8.count) //4
print(str.utf16.count) //2