如何计算字符串的长度?例如,我有一个定义如下的变量:

var test1: String = "Scott"

然而,我似乎找不到字符串的长度方法。


当前回答

现在(在Swift 2.3中),如果您使用:

myString.characters.count 

该方法将返回“Distance”类型,如果您需要该方法返回Integer,则应按如下方式键入cast:

var count = myString.characters.count as Int

其他回答

在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

Swift 1.2更新:不再有countElement来计算集合的大小。只需使用count函数作为替换:count(“Swift”)

Swift 2.0、3.0和3.1:

let strLength=字符串字符计数

Swift 4.2(4.0以后版本):[苹果文档-字符串]

let strLength=字符串计数

从文本视图或文本字段获取字符串值:

let textlengthstring = (yourtextview?.text)! as String

查找字符串中的字符数:

let numberOfChars = textlength.characters.count

截至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

苹果使它不同于其他主要语言。当前的方法是调用:

测试1字符计数

但是,要小心,当你说长度时,你指的是字符数而不是字节数,因为当你使用非ascii字符时,这两个字符可能不同。

例如"你好啊hi“.characters.count将为您提供5个字节,但这不是字节数。要获得真正的字节数,您需要执行“你好啊hi“.lengthOfBytes(使用:String.Encoding.utf8)。这将为您提供11。