Swift3.0語言教程刪除字符與處理字符編碼

Swift3.0語言教程刪除字符與處理字符編碼

Swift3.0語言教程刪除字符

Swift3.0語言教程刪除字符與處理字符編碼,在字符串中,若是開發者有不須要使用的字符,就能夠將這些字符刪除。在NSString中trimmingCharacters(in:)方法就能夠實現此功能,其語法形式以下:編碼

func trimmingCharacters(in set: CharacterSet) -> Stringspa

其中,set用來設置要刪除的字符集。.net

【示例1-72】如下將字符串中的空格和回車刪除。對象

import Foundationblog

var a=NSString(string:"\n   Hello  ")教程

print("刪除前:\(a)")ip

var b:CharacterSet=NSCharacterSet.whitespacesAndNewlines as CharacterSet開發

print("刪除後:\(a.trimmingCharacters(in: b))")                                                  //去除空格和回車字符串

運行結果以下:get

刪除前:

   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語言教程刪除字符與處理字符編碼

相關閱讀:Swift3.0語言教程分割字符串與截取字符串

相關文章
相關標籤/搜索