如何计算字符串的长度?例如,我有一个定义如下的变量:
var test1: String = "Scott"
然而,我似乎找不到字符串的长度方法。
如何计算字符串的长度?例如,我有一个定义如下的变量:
var test1: String = "Scott"
然而,我似乎找不到字符串的长度方法。
当前回答
Swift 1.2更新:不再有countElement来计算集合的大小。只需使用count函数作为替换:count(“Swift”)
Swift 2.0、3.0和3.1:
let strLength=字符串字符计数
Swift 4.2(4.0以后版本):[苹果文档-字符串]
let strLength=字符串计数
其他回答
如果您只是想查看字符串是否为空(检查长度是否为0),Swift提供了一个简单的字符串布尔测试方法
myString.isEmpty
硬币的另一面是人们在ObjectiveC中询问如何询问字符串是否为空,答案是检查长度是否为0:
NSString为空
这里有一些比使用全局函数更短、更自然的方法:
aString.utf16count
我不知道它是否在beta 1中可用。但它肯定在beta 2中。
苹果使它不同于其他主要语言。当前的方法是调用:
测试1字符计数
但是,要小心,当你说长度时,你指的是字符数而不是字节数,因为当你使用非ascii字符时,这两个字符可能不同。
例如"你好啊hi“.characters.count将为您提供5个字节,但这不是字节数。要获得真正的字节数,您需要执行“你好啊hi“.lengthOfBytes(使用:String.Encoding.utf8)。这将为您提供11。
字符串和NSString是免费桥,因此您可以使用NSString和swift字符串的所有可用方法
let x = "test" as NSString
let y : NSString = "string 2"
let lenx = x.count
let leny = y.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)