如何计算字符串的长度?例如,我有一个定义如下的变量:
var test1: String = "Scott"
然而,我似乎找不到字符串的长度方法。
如何计算字符串的长度?例如,我有一个定义如下的变量:
var test1: String = "Scott"
然而,我似乎找不到字符串的长度方法。
当前回答
使用Xcode 6.4、Swift 1.2和iOS 8.4:
//: Playground - noun: a place where people can play
import UIKit
var str = " He\u{2606} "
count(str) // 7
let length = count(str.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceAndNewlineCharacterSet())) as Int // 3
println(length == 3) // true
其他回答
Swift 2.0版本:获取计数:yourString.text.characters.count
有趣的有用示例是在UITextView中显示某个数字(例如150)的字符倒计时:
func textViewDidChange(textView: UITextView) {
yourStringLabel.text = String(150 - yourStringTextView.text.characters.count)
}
你可以这样试试
var test1: String = "Scott"
var length = test1.bridgeToObjectiveC().length
在Swift 4中:如果字符串不包含unicode字符,请使用以下命令
let str : String = "abcd"
let count = str.count // output 4
如果字符串包含unicode字符,请使用以下命令:
let spain = "España"
let count1 = spain.count // output 6
let count2 = spain.utf8.count // output 7
我的两美分换雨燕3/4
如果需要有条件地编译
#if swift(>=4.0)
let len = text.count
#else
let len = text.characters.count
#endif
如果您只是想查看字符串是否为空(检查长度是否为0),Swift提供了一个简单的字符串布尔测试方法
myString.isEmpty
硬币的另一面是人们在ObjectiveC中询问如何询问字符串是否为空,答案是检查长度是否为0:
NSString为空