如何计算字符串的长度?例如,我有一个定义如下的变量:
var test1: String = "Scott"
然而,我似乎找不到字符串的长度方法。
如何计算字符串的长度?例如,我有一个定义如下的变量:
var test1: String = "Scott"
然而,我似乎找不到字符串的长度方法。
当前回答
这里有一些比使用全局函数更短、更自然的方法:
aString.utf16count
我不知道它是否在beta 1中可用。但它肯定在beta 2中。
其他回答
如果您只是想查看字符串是否为空(检查长度是否为0),Swift提供了一个简单的字符串布尔测试方法
myString.isEmpty
硬币的另一面是人们在ObjectiveC中询问如何询问字符串是否为空,答案是检查长度是否为0:
NSString为空
只需写一个扩展就可以得到长度:
extension String {
// MARK: Use if it's Swift 2
func stringLength(str: String) -> Int {
return str.characters.count
}
// MARK: Use if it's Swift 3
func stringLength(_ str: String) -> Int {
return str.characters.count
}
// MARK: Use if it's Swift 4
func stringLength(_ str: String) -> Int {
return str.count
}
}
Swift 1.2更新:不再有countElement来计算集合的大小。只需使用count函数作为替换:count(“Swift”)
Swift 2.0、3.0和3.1:
let strLength=字符串字符计数
Swift 4.2(4.0以后版本):[苹果文档-字符串]
let strLength=字符串计数
现在(在Swift 2.3中),如果您使用:
myString.characters.count
该方法将返回“Distance”类型,如果您需要该方法返回Integer,则应按如下方式键入cast:
var count = myString.characters.count as Int
Swift 2.0版本:获取计数:yourString.text.characters.count
有趣的有用示例是在UITextView中显示某个数字(例如150)的字符倒计时:
func textViewDidChange(textView: UITextView) {
yourStringLabel.text = String(150 - yourStringTextView.text.characters.count)
}