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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 字元編碼與檔案處理字元
- ptyon 特殊處理 url 編碼與解碼,字元編碼轉化 unicode字元Unicode
- e語音 【刪除文字右邊字元】字元
- 字串-刪除指定字元字串字元
- python教程3.3:字元和編碼Python字元
- JavaScript 刪除重複字元JavaScript字元
- 字元編碼字元
- JavaScript 刪除字串重複字元JavaScript字串字元
- LintCode 1905. 字元刪除 Java字元Java
- 字串-字元編碼字串字元
- 聊聊字元編碼字元
- maven編譯遇到"編碼GBK的不可對映字元"警告的處理Maven編譯字元
- Linux下刪除亂碼或特殊字元檔案Linux字元
- c語言字元陣列C語言字元陣列
- JavaScript 刪除字串中所有指定字元JavaScript字串字元
- JavaScript刪除字串中所有指定字元JavaScript字串字元
- JavaScript刪除字串中的指定字元JavaScript字串字元
- JavaScript刪除字串中重複字元JavaScript字串字元
- python如何刪除字串的特殊字元Python字串字元
- MyBatis 跳脫字元處理MyBatis字元
- Oracle sql 語句中帶有特殊的字元處理OracleSQL字元
- 1.3.0 Python 字元編碼Python字元
- 字元編碼轉換字元
- 圖解字元編碼圖解字元
- 字元編碼問題字元
- 漢語言處理工具pyhanlp的拼音轉換與字元正則化HanLP字元
- 組合語言---判斷字元組合語言字元
- 第3章-17 刪除字元 (30分)字元
- Python刪除列表中的非字母字元Python字元
- 06.字元和字串處理字元字串
- 字元編碼那些事兒字元
- C#刪除字串最後一個字元C#字串字元
- C語言sizeof()變數、字元、字串C語言變數字元字串
- 2.刪除字串中的某個字元。(藉助字元陣列實現)字串字元陣列
- Python字元編碼的常用種類!Python基礎教程Python字元
- 程式設計入門之字元編碼與亂碼程式設計字元
- 字符集編碼(二):字元編碼模型字元模型
- Python字元與位元組新編Python字元
- XSS與字元編碼的那些事兒 ---科普文字元