Swift3.0語言教程獲取字符串長度,當在一個字符串中存在不少的字符時,若是想要計算字符串的長度時至關麻煩的一件事情,在NSString中能夠使用length屬性去實現這一功能,其語法形式以下:編碼
var length: Int { get }spa
【示例1-15】如下將實現字符串長度的計算。教程
import Foundation字符串
var str=NSString(stringLiteral: "Swift Hello") //計算字符串長度get
print(str.length)string
運行結果以下:it
11io
將一個NSString類型字符串獲取的長度轉換成相似ASCII編碼的長度,如漢字2個字節,英文以及符號1個字節這個功能。因爲使用length屬性調用獲取的長度是一箇中文和一個英文都是一個字節,爲了解決這一問題,NSString提供了lengthOfBytes(using:)方法,此方法能夠在指定編碼格式後獲取字符串長度,其語法形式以下:import
func lengthOfBytes(using enc: UInt) -> Intcoding
其中,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語言教程獲取字符串長度