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語言教程獲取字符串長度