如何计算字符串的长度?例如,我有一个定义如下的变量:
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 4+
只是:
test1.count
出于原因。
(感谢Martin R)
截至Swift 2:
在Swift 2中,苹果将全局函数改为协议扩展,即与任何符合协议的类型相匹配的扩展。因此,新语法为:
test1.characters.count
(感谢JohnDule的提醒)
截至Swift 1
使用计数字符方法:
let unusualMenagerie = "Koala 🐨, Snail 🐌, Penguin 🐧, Dromedary 🐪"
println("unusualMenagerie has \(count(unusualMenagerie)) characters")
// prints "unusualMenagerie has 40 characters"
从Apple Swift指南
(注意,对于1.2之前的Swift版本,这将是countElements(unusualMenagerie))
对于变量
length = count(test1) // was countElements in earlier versions of Swift
或者可以使用test1.utf16count
你可以这样试试
var test1: String = "Scott"
var length = test1.bridgeToObjectiveC().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)
这是我最后做的
let replacementTextAsDecimal = Double(string)
if string.characters.count > 0 &&
replacementTextAsDecimal == nil &&
replacementTextHasDecimalSeparator == nil {
return false
}
Swift 5.0字符串可以被视为单个字符的数组。因此,要返回字符串的长度,可以使用string.count来计算字符数组中的项数。