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

var test1: String = "Scott"

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


当前回答

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

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

其他回答

这里有一些比使用全局函数更短、更自然的方法:

aString.utf16count

我不知道它是否在beta 1中可用。但它肯定在beta 2中。

雨燕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)

在Swift中计算字符串的最佳方法是:

var str = "Hello World"
var length = count(str.utf16)

在Xcode 6.1.1中

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

我认为脑力劳动者会在每一个次要版本上改变这一点。

在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