如何计算字符串的长度?例如,我有一个定义如下的变量:
var test1: String = "Scott"
然而,我似乎找不到字符串的长度方法。
如何计算字符串的长度?例如,我有一个定义如下的变量:
var test1: String = "Scott"
然而,我似乎找不到字符串的长度方法。
当前回答
在Swift 4.2和Xcode 10.1中
在Swift中,字符串可以被视为单个字符的数组。所以字符串中的每个字符就像数组中的一个元素。要获取字符串的长度,请使用StringName.count属性。
在Swift中
yourStringName.character.count属性已弃用。所以直接使用strLength.count属性。
let strLength = "This is my string"
print(strLength.count)
//print(strLength.characters.count) //Error: 'characters' is deprecated: Please use String or Substring directly
如果目标C
NSString *myString = @"Hello World";
NSLog(@"%lu", [myString length]); // 11
其他回答
雨燕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 4.1和Xcode 9.4.1中
在Objective c和Swift中获取长度是不同的。在Obj-c中我们使用长度属性,但在Swift中我们使用计数属性
例子:
//In Swift
let stringLenght = "This is my String"
print(stringLenght.count)
//In Objective c
NSString * stringLenght = @"This is my String";
NSLog(@"%lu", stringLenght.length);
var str = "Hello, playground"
var newString = str as NSString
countElements(str)
这将统计正则Swift字符串中的字符
countElements((newString as String))
这将统计NSString中的字符
在Swift 2.x中,以下是如何找到字符串的长度
let findLength = "This is a string of text"
findLength.characters.count
返回24
Swift 2.0版本:获取计数:yourString.text.characters.count
有趣的有用示例是在UITextView中显示某个数字(例如150)的字符倒计时:
func textViewDidChange(textView: UITextView) {
yourStringLabel.text = String(150 - yourStringTextView.text.characters.count)
}