如何计算字符串的长度?例如,我有一个定义如下的变量:

var test1: String = "Scott"

然而,我似乎找不到字符串的长度方法。


当前回答

您可以将此函数添加到扩展

extension NSString { 
    func charLength() -> Int {
        return count(self as String)
    }
}

其他回答

test1.endIndex给出的结果与Swift 3上的test1.characters.count相同

雨燕1.1

extension String {
    var length: Int { return countElements(self) }  // 
}

雨燕1.2

extension String {
    var length: Int { return count(self)         }  // 
}

斯威夫特2.0

extension String {
    var length: Int { return characters.count    }  // 
}

雨燕4.2

extension String {
    var length: Int { return self.count }           
}

let str = "Hello"
let count = str.length    // returns 5 (Int)

斯威夫特4

“string”.count

;)

雨燕3

extension String {
    var length: Int {
        return self.characters.count
    }
}

用法

“string”.length

如果您只是想查看字符串是否为空(检查长度是否为0),Swift提供了一个简单的字符串布尔测试方法

myString.isEmpty

硬币的另一面是人们在ObjectiveC中询问如何询问字符串是否为空,答案是检查长度是否为0:

NSString为空

在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);