Swift3.0语言教程获取字符串长度

时间:2022-06-01 20:34:25

Swift3.0语言教程获取字符串长度

Swift3.0语言教程获取字符串长度,当在一个字符串中存在很多的字符时,如果想要计算字符串的长度时相当麻烦的一件事情,在NSString中可以使用length属性去实现这一功能,其语法形式如下:

var length: Int { get }

【示例1-15】以下将实现字符串长度的计算。

import Foundation

var str=NSString(stringLiteral: "Swift Hello")                                                                 //计算字符串长度

print(str.length)

运行结果如下:

11

将一个NSString类型字符串获取的长度转换成类似ASCII编码的长度,如汉字2个字节,英文以及符号1个字节这个功能。由于使用length属性调用获取的长度是一个中文和一个英文都是一个字节,为了解决这一问题,NSString提供了lengthOfBytes(using:)方法,此方法可以在指定编码格式后获取字符串长度,其语法形式如下:

func lengthOfBytes(using enc: UInt) -> Int

其中,enc用来指定编码格式。

【示例1-16】以下将使用lengthOfBytes(using:)方法获取字符串的长度。

import Foundation

var str=NSString(stringLiteral: "Swift Hello")

print(str.lengthOfBytes(using: String.Encoding.utf16.rawValue))                             //计算字符串长度

运行结果如下:

22

在NSString中,还有一个获取字符串长度的方法,那就是maximumLengthOfBytes(using:)方法,此方法可以返回字符串编码时需要用到最大字节长度,其语法形式如下:

func maximumLengthOfBytes(using enc: UInt) -> Int

其中,enc用来指定编码格式。

【示例1-17】以下将使用maximumLengthOfBytes(using:)方法获取字符串的长度。

import Foundation

var str=NSString(stringLiteral: "Swift Hello")

print(str.maximumLengthOfBytes(using: String.Encoding.utf16.rawValue))                   //计算字符串长度

运行结果如下:

22

Swift3.0语言教程获取字符串长度