如何计算字符串的长度?例如,我有一个定义如下的变量:
var test1: String = "Scott"
然而,我似乎找不到字符串的长度方法。
如何计算字符串的长度?例如,我有一个定义如下的变量:
var test1: String = "Scott"
然而,我似乎找不到字符串的长度方法。
当前回答
在swift4中,我一直使用string.count,直到今天我发现
string.endIndex.encodedOffset
是更好的替代方法,因为它更快-对于50000个字符,字符串大约比.count快6倍。.count取决于字符串长度,但.endIndex.encodedOffset不一样。
但有一个“不”。它对带有表情符号的字符串不好,它会给出错误的结果,所以只有count是正确的。
其他回答
在Xcode 6.1.1中
extension String {
var length : Int { return self.utf16Count }
}
我认为脑力劳动者会在每一个次要版本上改变这一点。
为Xcode 6 beta 4更新,更改方法utf16count-->utf16count
var test1: String = "Scott"
var length = test1.utf16Count
Or
var test1: String = "Scott"
var length = test1.lengthOfBytesUsingEncoding(NSUTF16StringEncoding)
Swift 1.2更新:不再有countElement来计算集合的大小。只需使用count函数作为替换:count(“Swift”)
Swift 2.0、3.0和3.1:
let strLength=字符串字符计数
Swift 4.2(4.0以后版本):[苹果文档-字符串]
let strLength=字符串计数
在Swift 2.x中,以下是如何找到字符串的长度
let findLength = "This is a string of text"
findLength.characters.count
返回24
在Swift 4.1和Xcode 9.4.1中
在Objective c和Swift中获取长度是不同的。在Obj-c中我们使用长度属性,但在Swift中我们使用计数属性
例子:
//In Swift
let stringLenght = "This is my String"
print(stringLenght.count)
//In Objective c
NSString * stringLenght = @"This is my String";
NSLog(@"%lu", stringLenght.length);