在Swift中查找字符长度的方法

948 阅读1分钟

该字符串包含一组字符。字符可以是普通字母或Unicode字符。字符串的长度是对字符串中字符数量的计算。例如,如果一个字符串是 "abc",那么一个字符串的长度就是3。

在Swift中查找字符数

有两种类型的字符串。一种是由普通字母组成的字符串,没有Unicode和emoji字符;第二种是包含Unicode字符的字符串。

我们有多种方法可以找到一个字符串的长度。

字符串包含一个count 属性,在Swift 4版本中返回字符串中的字符数。

如果字符串包含Unicode字符,count属性不会给出正确的计数。

你可以使用String.utf8.countString.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