Swift3.0語言教程刪除字元與處理字元編碼
Swift3.0語言教程刪除字元與處理字元編碼
Swift3.0語言教程刪除字元
Swift3.0語言教程刪除字元與處理字元編碼,在字串中,如果開發者有不需要使用的字元,就可以將這些字元刪除。在NSString中trimmingCharacters(in:)方法就可以實現此功能,其語法形式如下:
func trimmingCharacters(in set: CharacterSet) -> String
其中,set用來設定要刪除的字符集。
【示例1-72】以下將字串中的空格和回車刪除。
import Foundation
var a=NSString(string:"\n Hello ")
print("刪除前:\(a)")
var b:CharacterSet=NSCharacterSet.whitespacesAndNewlines as CharacterSet
print("刪除後:\(a.trimmingCharacters(in: b))") //去除空格和回車
執行結果如下:
刪除前:
Hello
刪除後:Hello
Swift3.0語言教程處理字元編碼
字元編碼也就是字串中字元的編碼格式,針對編碼的不同,生成或者獲取的字串也是不一樣的。本節將講解以下有關字元編碼的處理。
1.獲取編碼內容
在字元編碼處理中,最為重要的就是要獲取編碼的內容,其中包括編碼名稱、字串的最大編碼值、最小編碼值等內容。
(1)在NSString中的localizedName(of:)方法中,開發者可以獲取一個人類可讀的字串,這個字串就是給定編碼的名稱。其語法形式如下:
class func localizedName(of encoding: UInt) -> String
其中,encoding用來指定編碼。
【示例1-73】以下將獲取字串中指定編碼的名稱。
import Foundation
print(NSString.localizedName(of: 1)) //獲取名稱
執行結果如下:
Western (ASCII)
(2)NSString中的description屬性可以將任意編碼的字串轉換為String型別的字串(String我們會在後面的內容中進行講解),其語法形式如下:
var description: String { get }
【示例1-74】以下將NSString型別的字串轉換為String型別的字串。
import Foundation
var a=NSString(string:"Hello")
print(a.description)
執行結果如下:
Hello
(3)NSString中的fastestEncoding屬性可以獲取字串的最大編碼值,其語法形式如下:
var fastestEncoding: UInt { get }
【示例1-75】以下將獲取字串的最大編碼值。
import Foundation
var a=NSString(string:"Hello")
print(a.fastestEncoding) //獲取最大編碼值
執行結果如下:
10
(4)NSString中的smallestEncoding屬性正好和fastestEncoding屬性相反,它可以獲取字串的最小編碼值,其語法形式如下:
var smallestEncoding: UInt { get }
【示例1-76】以下將獲取字串的最小編碼值。
import Foundation
var a=NSString(string:"Hello")
print(a.smallestEncoding) //獲取最小編碼值
執行結果如下:
1
2.判斷是否可以無損壞轉碼
字串在轉換為指定格式的編碼的字串時,可能會由於某些原因丟失資料,形成損壞轉碼。但是這些過程開發者是看不到的。為了解決這一問題,首先我們需要判斷字串是否可以無損壞轉碼,如果可以的話,我們再進行轉碼。要判斷字串是否可以無損壞轉碼,需要使用到NSString中的canBeConverted(to:)方法,其語法形式如下:
func canBeConverted(to encoding: UInt) -> Bool
其中,encoding用來指定一個字串編碼。
【示例1-77】以下將判斷字串是否可以無損壞轉碼。
import Foundation
var a=NSString(string:"Hello")
print(a.canBeConverted(to: 1))
執行結果如下:
true
3.獲取指定編碼的NSData物件
獲取指定編碼的NSData物件,其實就是將字串轉換為NSData物件,這裡NSString提供了2種方法,分別為data(using:)和data(using:allowLossyConversion:)方法。
(1)data(using:)方法就是要獲取指定編碼的NSData物件,其語法形式如下:
func data(using encoding: UInt) -> Data?
其中,encoding用來指定編碼。
【示例1-78】以下將獲取指定編碼的NSData物件。
import Foundation
var a=NSString(string:"Hello")
print(a.data(using: 1))
執行結果如下:
Optional(<48656c6c 6f>)
(2)data(using:allowLossyConversion:)方法和data(using:)方法類似,但是它比data(using:)方法多了一個lossy引數。這個引數用來設定是在轉換過程中是否可以移除或者改變字元。當開發者將這個引數設定true時,則在轉換過程中允許移除或者改變字元,反之,則不允許。其語法形式如下:
func data(using encoding: UInt, allowLossyConversion lossy: Bool) -> Data?
【示例1-79】以下將獲取指定編碼的NSData物件。
import Foundation
var a=NSString(string:"Hello")
print(a.data(using: 1, allowLossyConversion: true))
執行結果如下:
Optional(<48656c6c 6f>)
Swift3.0語言教程刪除字元與處理字元編碼
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29597077/viewspace-2128597/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 字元編碼與檔案處理字元
- 網頁字元編碼、語言程式碼設定與SEO網頁字元
- R語言資料處理(二)字元分隔R語言字元
- ptyon 特殊處理 url 編碼與解碼,字元編碼轉化 unicode字元Unicode
- lxml處理xml時的字元編碼問題XML字元
- 字串-刪除指定字元字串字元
- Swift 語言的字串與字元Swift字串字元
- 【字元編碼】徹底理解字元編碼字元
- shell 字元處理字元
- 字元編碼字元
- JavaScript 刪除重複字元JavaScript字元
- python教程3.3:字元和編碼Python字元
- Java語言中字元的處理 (轉)Java字元
- 【字元編碼】字元編碼 && Base64編碼演算法字元演算法
- c/c++ c語言字元與字串C++C語言字元字串
- 字元處理函式字元函式
- tr命令“字元”處理字元
- JavaScript 刪除字串重複字元JavaScript字串字元
- 刪除字元;及interleave字串分析字元字串
- 字串-字元編碼字串字元
- 聊聊字元編碼字元
- vim字元編碼字元
- 字元編碼 and cpp字元
- 批處理刪除語句
- javascript刪除字串重複字元程式碼例項JavaScript字串字元
- Swift3.0語言教程獲取字串編碼與雜湊地址Swift字串編碼
- C語言(字元陣列)C語言字元陣列
- maven編譯遇到"編碼GBK的不可對映字元"警告的處理Maven編譯字元
- JavaScript刪除字串中重複字元JavaScript字串字元
- JavaScript刪除字串中所有指定字元JavaScript字串字元
- JavaScript 刪除字串中所有指定字元JavaScript字串字元
- JavaScript刪除字串中的指定字元JavaScript字串字元
- 迴文分割;及刪除字元分析字元
- SQL特殊字元處理zzSQL字元
- 特殊字元的處理。。¥$$$字元
- Oracle函式-->字元處理Oracle函式字元
- Oracle sql 語句中帶有特殊的字元處理OracleSQL字元
- 字元編碼轉換字元