最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解Swift中的Characters字符類型與String字符串類型

 更新時(shí)間:2016年06月23日 18:23:23   作者:琿少  
Swift中的字符串操作相當(dāng)便捷,下面我們來詳解Swift中的Characters字符類型與String字符串類型,需要的朋友可以參考下

一、引言

Swift中提供了String類型與Characters類型來處理字符串和字符數(shù)據(jù),Swift中的String類型除了提供了許多方便開發(fā)者使用的方法外,還可以與Foundation框架的NSString類進(jìn)行轉(zhuǎn)換,使用起來十分方便。

二、String基礎(chǔ)

在Swift中,使用雙引號(hào)來定義字符串,開發(fā)者可以通過如下代碼來創(chuàng)建一個(gè)字符串常量:

let str = "Hello, playground"

可以通過下面兩種方式來創(chuàng)建空字符串:

let str1 = ""
let str2 = String()

調(diào)用isEmpty方法可以判斷某個(gè)字符串是否為空字符串,這個(gè)方法將返回一個(gè)Bool值,可以直接用于if語句:

if str1.isEmpty {
  print("this String Object is Empty")
}

不像Objective-C有NSString與NSMutableString的區(qū)別,在Swift中,如果需要?jiǎng)?chuàng)建可變的字符串,只需用變量來接收:

var str3 = "Hello"
str3 += " "+"World"http://str3 = Hello World

String也可以使用插值的方法來構(gòu)造新的字符串,使用\()的方式來將插值的表達(dá)式寫在小括號(hào)內(nèi),示例如下:

let multiplier = 3
let message = "\(multiplier) times 2.5 is \(Double(multiplier) * 2.5)"http://3 times 2.5 is 7.5

獲取字符串的長(zhǎng)度使用如下代碼:

str3.characters.count

Swift中的String可以直接使用==運(yùn)算符來進(jìn)行比較,示例如下:

let comStr1 = "one two"
let comStr2 = "one two"
comStr1==comStr2//true

下面示例的代碼,用來檢驗(yàn)字符串是否包含前綴與后綴:

let tmp3 = "thank you"
tmp3.hasPrefix("thank")//true
tmp3.hasSuffix("you")//true

三、Character的使用

Character為Swift中的字符類型,在for-in循環(huán)中,可以將字符串中所有的字符進(jìn)行遍歷:

for chara in str3.characters {
  print(chara)
}

也可以創(chuàng)建單獨(dú)的字符類型量值,示例如下:

let char1 = ""
var cgar2 = "HS"

事實(shí)上,Sting字符串也可以通過Character字符數(shù)組進(jìn)行初始化:

let chars:[Character] = ["H","e","l","l","o"]
let str4 = String(chars)

向字符串中追加字符使用如下方法:

var str5 = ""
let ca:Character = "a"
str5.append(ca)

四、字符串中的特殊字符

字符串中的特殊字符主要指轉(zhuǎn)義字符,Swift中的轉(zhuǎn)義字符列舉如下:

"\0"http://"" 空白符
"\\"http://"\"反斜杠符號(hào)
"\t"http://" "制表符
"\n"http://換行符
"\r"http://回車符
"\'"http://"'"單引號(hào)
"\""http://"""雙引號(hào)
"\u{24}"http://"$"unicode字符

五、關(guān)于字符串下標(biāo)

在Swift中,字符串也可以通過下標(biāo)的方式來訪問其中字符,并且提供了相關(guān)方法來方便的移動(dòng)下標(biāo),示例代碼如下:

let tmp = "Hello Swift"
//獲取字符開始的下標(biāo)值 0
let indexStart = tmp.startIndex
//獲取某個(gè)下標(biāo)后一個(gè)字符的下標(biāo) 1
let next = indexStart.successor()
//獲取最后一個(gè)字符的下標(biāo)值 注意有\(zhòng)0的存在 
let indexEnd = tmp.endIndex
//獲取某個(gè)下標(biāo)前一個(gè)字符的下標(biāo)
let pre = indexEnd.predecessor()
//通過下標(biāo)獲取字符串中的字符 t
var c = tmp[pre]
//進(jìn)行下標(biāo)移動(dòng) o
var c2 = tmp[indexStart.advancedBy(4)]
//通過遍歷下標(biāo)來遍歷字符 H e l l o S w i f t
for index in tmp.characters.indices {
   print("\(tmp[index]) ", terminator: "")
}

六、在字符串中插入和移除字符

使用insert函數(shù)來向字符串中插入一個(gè)字符,示例如下:

var tmp2 = "Hello"
tmp2.insert("!", atIndex: tmp2.endIndex)

注意,上面示例代碼中的insert函數(shù)只能用于插入一個(gè)字符,如果需要插入一組字符,需要使用如下方法:

tmp2.insertContentsOf(" Swift".characters, at: tmp2.endIndex)

使用removeAtIndex函數(shù)來移除字符串中的一個(gè)字符,示例如下:

tmp2.removeAtIndex(tmp2.endIndex.predecessor())

如果要移除一組字符,主要通過Range來實(shí)現(xiàn),示例如下:

let range = tmp2.endIndex.advancedBy(-4)..<tmp2.endIndex
tmp2.removeRange(range)

相關(guān)文章

  • 詳解Swift語言中的類與結(jié)構(gòu)體

    詳解Swift語言中的類與結(jié)構(gòu)體

    這篇文章主要介紹了Swift語言中的類與結(jié)構(gòu)體,是Swift入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-11-11
  • Swift中的條件切換語句switch...case學(xué)習(xí)教程

    Swift中的條件切換語句switch...case學(xué)習(xí)教程

    這篇文章主要介紹了Swift中的條件切換語句switch...case學(xué)習(xí)教程,Swift中的switch...case支持的數(shù)據(jù)類型很多,非常之強(qiáng)大,需要的朋友可以參考下
    2016-04-04
  • Swift實(shí)現(xiàn)JSON轉(zhuǎn)Model的方法及HandyJSON使用講解

    Swift實(shí)現(xiàn)JSON轉(zhuǎn)Model的方法及HandyJSON使用講解

    這篇文章給大家介紹了Swift實(shí)現(xiàn)JSON轉(zhuǎn)Model的方法及HandyJSON使用講解,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下吧
    2017-07-07
  • 如何利用SwiftUI實(shí)現(xiàn)可縮放的圖片預(yù)覽器

    如何利用SwiftUI實(shí)現(xiàn)可縮放的圖片預(yù)覽器

    這篇文章主要給大家介紹了關(guān)于如何利用SwiftUI實(shí)現(xiàn)可縮放圖片預(yù)覽器的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用SwiftUI具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2021-09-09
  • Swift中static和class關(guān)鍵字的深入講解

    Swift中static和class關(guān)鍵字的深入講解

    這篇文章主要給大家介紹了關(guān)于Swift中static和class關(guān)鍵字的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者使用Java具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • 詳解Swift 結(jié)構(gòu)體

    詳解Swift 結(jié)構(gòu)體

    這篇文章主要介紹了Swift 結(jié)構(gòu)體的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-09-09
  • RxSwift學(xué)習(xí)之Observable的新建、訂閱及取消訂閱

    RxSwift學(xué)習(xí)之Observable的新建、訂閱及取消訂閱

    這篇文章主要給大家介紹了關(guān)于RxSwift學(xué)習(xí)教程之Observable的相關(guān)資料,文中詳細(xì)的給大家介紹了關(guān)于新建Observable、訂閱Observable和取消訂閱并消除內(nèi)存泄漏等相關(guān)的內(nèi)容,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-09-09
  • 使用Swift實(shí)現(xiàn)iOS App中解析XML格式數(shù)據(jù)的教程

    使用Swift實(shí)現(xiàn)iOS App中解析XML格式數(shù)據(jù)的教程

    這篇文章主要介紹了使用Swift實(shí)現(xiàn)iOS App中解析XML格式數(shù)據(jù)的教程,講到了iOS中提供的NSXMLParser和NSXMLParserDelegate兩個(gè)API的用法,需要的朋友可以參考下
    2016-04-04
  • swift5.3 UIColor使用十六進(jìn)制顏色的方法實(shí)例

    swift5.3 UIColor使用十六進(jìn)制顏色的方法實(shí)例

    這篇文章主要給大家介紹了關(guān)于swift5.3 UIColor使用十六進(jìn)制顏色的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • Swift TableView實(shí)現(xiàn)凍結(jié)窗格功能

    Swift TableView實(shí)現(xiàn)凍結(jié)窗格功能

    這篇文章主要為大家詳細(xì)介紹了Swift TableView實(shí)現(xiàn)凍結(jié)窗格功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-11-11

最新評(píng)論

弋阳县| 库车县| 华安县| 迭部县| 凤台县| 新龙县| 平定县| 灵丘县| 阿克苏市| 航空| 偃师市| 上虞市| 昌邑市| 辽中县| 南宁市| 巴塘县| 武隆县| 宜兴市| 蒲城县| 苗栗县| 嘉禾县| 夹江县| 左贡县| 全州县| 巨鹿县| 巴塘县| 孟村| 邻水| 梓潼县| 泗阳县| 白朗县| 平湖市| 阳曲县| 湘乡市| 玉树县| 镇坪县| 永川市| 崇礼县| 宁海县| 成都市| 耒阳市|