Swift入門(mén)_字符串

Swift中的字符串和OC的是可以無(wú)縫橋接的.其中的一些細(xì)節(jié)還是要說(shuō)的.
Swift中的字符串不像OC中的需要添加@前綴,而是直接使用雙引號(hào)("").

let someString = "aaa"
let someString2: String = "aaa" 

上面兩種寫(xiě)法是一樣的.編譯器會(huì)自動(dòng)推斷類(lèi)型.這點(diǎn)以后就不再提了.應(yīng)該會(huì)習(xí)慣的.
任何創(chuàng)建一個(gè)空的字符串呢?有兩種方法:

var emptyString = ""
var emptyString2 = String()

而且Swift提供了一個(gè)屬性,可以很簡(jiǎn)單的判斷字符串是否為空.

if emptyString2.isEmpty {
    print("字符串為空")
}

字符串拼接
Swift中的字符串拼接和java中的很像,可以直接進(jìn)行加運(yùn)算.因?yàn)樵赟wift中的+不在是加法運(yùn)算.

var str1 = "a"
str1 += "b"
// str1這時(shí)為"ab"


需要注意的是常量字符串是不能進(jìn)行加操作的,因?yàn)槌A渴遣荒苄薷牡?

遍歷字符串

for character in "Dog!??".characters {
    print(character)
}

** 追加 **

str1.appendContentsOf("dog")
// 當(dāng)然不如之間進(jìn)行加方便

使用索引訪問(wèn)

var str = "dog"
// 我們可以很輕松的根據(jù)下標(biāo)來(lái)獲取字符串中對(duì)應(yīng)的字符
// 最容易獲取到的是start和end,要注意endIndex會(huì)出現(xiàn)下標(biāo)越界的問(wèn)題,對(duì)OC有經(jīng)驗(yàn)的話(huà),應(yīng)該不難理解.
let ch1 = str[str.characters.startIndex] // d
let ch2 = str[str.characters.startIndex.successor()] // o
// advancedBy()參數(shù)是正數(shù)則向后取,參數(shù)為負(fù)數(shù)則向前取
let ch3 = str[str.characters.endIndex.advancedBy(-1)] //g

** 插入和刪除 **

str.insert("m", atIndex: str.characters.startIndex) // 插入字符 m
str.insertContentsOf("MY".characters, at: str.characters.startIndex) // 插入字符串 MY

str.removeAtIndex(str.characters.startIndex.advancedBy(2)) // 刪除字符 m
str.removeRange(str.characters.startIndex..<str.characters.startIndex.advancedBy(2)) // 刪除范圍

** 相等 **
在OC中判斷字符串是相同的我們會(huì)使用isEqual方法.在Swift中我們可以直接使用 == 或者 != 來(lái)判斷字符串是否相同

** 前后綴 **

str.hasPrefix("d") // 是否有前綴 d
str.hasSuffix("g") // 是否有后綴 g

** 與NSString橋接 **
有一些方法是OC特有的,在沒(méi)有導(dǎo)入Foundation 或者UIKit之前,會(huì)報(bào)錯(cuò).導(dǎo)入框架之后再能正常使用,這點(diǎn)需要注意

let text = "0123456789"
if let range = text.rangeOfString("5",
    options: .BackwardsSearch) {
    let suffix = String(text.characters.suffixFrom(range.endIndex))
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一個(gè)字符串 是一系列字符的集合,例如hello, world和albatross。Swift的字符串是String...
    BoomLee閱讀 2,515評(píng)論 0 3
  • Swift 介紹 簡(jiǎn)介 Swift 語(yǔ)言由蘋(píng)果公司在 2014 年推出,用來(lái)撰寫(xiě) OS X 和 iOS 應(yīng)用程序 ...
    大L君閱讀 3,424評(píng)論 3 25
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫(kù)、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 15,167評(píng)論 4 61
  • 直到他們二人奔上的火車(chē)轟隆隆地駛出站臺(tái),她才徹底地放下了一顆久懸著的心。 身邊的他疲倦地打起了呼嚕,她輕輕地為他披...
    腳丫和拳頭麻麻閱讀 333評(píng)論 2 3
  • 1.我怎么如此幸運(yùn),今天,聽(tīng)著老公和我講他如何賺取財(cái)富的一個(gè)過(guò)程,我真的感覺(jué)到老公這么多年的積累也是該生根發(fā)芽的時(shí)...
    史真如閱讀 156評(píng)論 0 0

友情鏈接更多精彩內(nèi)容