如何计算字符串的长度?例如,我有一个定义如下的变量:
var test1: String = "Scott"
然而,我似乎找不到字符串的长度方法。
如何计算字符串的长度?例如,我有一个定义如下的变量:
var test1: String = "Scott"
然而,我似乎找不到字符串的长度方法。
当前回答
在Swift 4中:如果字符串不包含unicode字符,请使用以下命令
let str : String = "abcd"
let count = str.count // output 4
如果字符串包含unicode字符,请使用以下命令:
let spain = "España"
let count1 = spain.count // output 6
let count2 = spain.utf8.count // output 7
其他回答
在Swift 4中:如果字符串不包含unicode字符,请使用以下命令
let str : String = "abcd"
let count = str.count // output 4
如果字符串包含unicode字符,请使用以下命令:
let spain = "España"
let count1 = spain.count // output 6
let count2 = spain.utf8.count // output 7
您可以将此函数添加到扩展
extension NSString {
func charLength() -> Int {
return count(self as String)
}
}
在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);
现在(在Swift 2.3中),如果您使用:
myString.characters.count
该方法将返回“Distance”类型,如果您需要该方法返回Integer,则应按如下方式键入cast:
var count = myString.characters.count as Int
在Swift 2.0中,计数不再有效。您可以改用此选项:
var testString = "Scott"
var length = testString.characters.count