如何计算字符串的长度?例如,我有一个定义如下的变量:
var test1: String = "Scott"
然而,我似乎找不到字符串的长度方法。
如何计算字符串的长度?例如,我有一个定义如下的变量:
var test1: String = "Scott"
然而,我似乎找不到字符串的长度方法。
当前回答
您可以使用str.utf8.count和str.utf16.count,我认为这是最好的解决方案
其他回答
现在(在Swift 2.3中),如果您使用:
myString.characters.count
该方法将返回“Distance”类型,如果您需要该方法返回Integer,则应按如下方式键入cast:
var count = myString.characters.count as Int
在Xcode 6.1.1中
extension String {
var length : Int { return self.utf16Count }
}
我认为脑力劳动者会在每一个次要版本上改变这一点。
如果您只是想查看字符串是否为空(检查长度是否为0),Swift提供了一个简单的字符串布尔测试方法
myString.isEmpty
硬币的另一面是人们在ObjectiveC中询问如何询问字符串是否为空,答案是检查长度是否为0:
NSString为空
苹果使它不同于其他主要语言。当前的方法是调用:
测试1字符计数
但是,要小心,当你说长度时,你指的是字符数而不是字节数,因为当你使用非ascii字符时,这两个字符可能不同。
例如"你好啊hi“.characters.count将为您提供5个字节,但这不是字节数。要获得真正的字节数,您需要执行“你好啊hi“.lengthOfBytes(使用:String.Encoding.utf8)。这将为您提供11。
您可以使用str.utf8.count和str.utf16.count,我认为这是最好的解决方案