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

var test1: String = "Scott"

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


当前回答

字符串和NSString是免费桥,因此您可以使用NSString和swift字符串的所有可用方法

let x = "test" as NSString
let y : NSString = "string 2"
let lenx = x.count
let leny = y.count

其他回答

从文本视图或文本字段获取字符串值:

let textlengthstring = (yourtextview?.text)! as String

查找字符串中的字符数:

let numberOfChars = textlength.characters.count

为Xcode 6 beta 4更新,更改方法utf16count-->utf16count

 var test1: String = "Scott"
 var length =  test1.utf16Count

Or

 var test1: String = "Scott"
 var length = test1.lengthOfBytesUsingEncoding(NSUTF16StringEncoding)

苹果使它不同于其他主要语言。当前的方法是调用:

测试1字符计数

但是,要小心,当你说长度时,你指的是字符数而不是字节数,因为当你使用非ascii字符时,这两个字符可能不同。

例如"你好啊hi“.characters.count将为您提供5个字节,但这不是字节数。要获得真正的字节数,您需要执行“你好啊hi“.lengthOfBytes(使用:String.Encoding.utf8)。这将为您提供11。

您可以使用SwiftString(https://github.com/amayne/SwiftString)这样做。

“string”.length//6

免责声明:我写了这个扩展

使用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