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

var test1: String = "Scott"

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


当前回答

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

myString.isEmpty

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

NSString为空

其他回答

现在(在Swift 2.3中),如果您使用:

myString.characters.count 

该方法将返回“Distance”类型,如果您需要该方法返回Integer,则应按如下方式键入cast:

var count = myString.characters.count as Int

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

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

在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内置类的扩展http://www.dollarswift.org/#length

使用这个库,您只需执行“Some Str”.length

使用Xcode 6.4、Swift 1.2和iOS 8.4:

    //: Playground - noun: a place where people can play

    import UIKit

    var str = "  He\u{2606}  "
    count(str) // 7

    let length = count(str.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceAndNewlineCharacterSet())) as Int // 3
    println(length == 3) // true