如何计算字符串的长度?例如,我有一个定义如下的变量:
var test1: String = "Scott"
然而,我似乎找不到字符串的长度方法。
如何计算字符串的长度?例如,我有一个定义如下的变量:
var test1: String = "Scott"
然而,我似乎找不到字符串的长度方法。
当前回答
这里有一些比使用全局函数更短、更自然的方法:
aString.utf16count
我不知道它是否在beta 1中可用。但它肯定在beta 2中。
其他回答
var str = "Hello, playground"
var newString = str as NSString
countElements(str)
这将统计正则Swift字符串中的字符
countElements((newString as String))
这将统计NSString中的字符
如果您正在寻找一种更简洁的方法来获取字符串长度,请检查这个库,它有一系列对Swift内置类的扩展http://www.dollarswift.org/#length
使用这个库,您只需执行“Some Str”.length
雨燕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 2.3中),如果您使用:
myString.characters.count
该方法将返回“Distance”类型,如果您需要该方法返回Integer,则应按如下方式键入cast:
var count = myString.characters.count as Int
苹果使它不同于其他主要语言。当前的方法是调用:
测试1字符计数
但是,要小心,当你说长度时,你指的是字符数而不是字节数,因为当你使用非ascii字符时,这两个字符可能不同。
例如"你好啊hi“.characters.count将为您提供5个字节,但这不是字节数。要获得真正的字节数,您需要执行“你好啊hi“.lengthOfBytes(使用:String.Encoding.utf8)。这将为您提供11。