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语言教程获取字符串长度