swift-字符串

在oc語言中,NSString來申明一個字符串脆粥。

在swift語言中软棺,用String來申明一個字符串红竭,學習過java的也應該知道。

字符(character)

在這里喘落,需要說明一點的就是茵宪,字符串中有字符(Character)這個概念,一串字符串是由多個字符組成瘦棋。

let str = "Hello" ? ? ?這個字符串就是由"H","e","l","l","o"5個字符構成的字符串稀火。

獲取字符串的長度的方法

str.characters.count

不能通過索引來獲取某一個字符

str[0] 或者str.characters[0] 這樣的寫法是錯誤的。

索引(Index)

那么赌朋,要如何去獲取某一個字符凰狞。在這里篇裁,有個概念,要想獲取一個字符赡若,那么要先獲取索引(Index),然后再通過索引獲取字符

let startIndex = str.startIndex ?//獲取第一個索引达布。類型為Index

let endIndex = str.endIndex //獲取最后一個索引

let Index = startIndex.advancedBy(5) //獲取從0開始,第5個索引位置

let Index2 = Index.predecessor() ?//獲取當前索引前一個索引

let Index3 = Index.successor() //獲取當前索引后一個索引

值得一提的就是逾冬,獲取的索引注意是否越界黍聂。


字符串增刪改查操作

str.appendContentsOf("!!!") //在字符串最后添加字符串

str.insert("?", atIndex: str.startIndex) //給定字符串一個索引位置,就可以添加一個字符到這個索引位置上身腻。注意:只能添加一個字符

str.removeAtIndex(str

str.removeAtIndex(str.endIndex.predecessor()) //刪除給定的索引的字符(只能刪除一個字符)

str.removeRange(str.endIndex.advancedBy(-2)..<str.endIndex) ?//通過區(qū)間方法产还,可以同時刪除區(qū)間所在的所有字符

str.removeAll() ?//刪除所有字符

let range = startIndex..<spaceIndex.predecessor()

str.replaceRange(range, with: "Hi") ?//通過這樣的方法,使得range這段字符被“Hi”給替換掉

let a = str[str.startIndex] //獲取第一個字符

let b = str[str.endIndex] //獲取最后一個字符

let c = str[str.startIndex.advancedBy(5)] //獲取第5個字符

let d = str[str.startIndex.advancedBy(5).predecessor()] //獲取第4個字符

let f? = str[str.startIndex.advancedBy(5).successor()] //獲取第6個字符


Character(字符)和Unicode

str.characters ?//字符串所有字符

如果let mark = "!" 申明嘀趟,系統(tǒng)默認將mark作為字符串類型處理脐区,其實這個mark嚴格來說是個字符。

字符串之間的可以通過“+”來進行字符串的合并

//在swift語言中去件,下列這些字符都是當作一個Character字符

let englishLetter:Character = "a"

let chineseLetter:Character = "雷"

let smile:Character = "??"

let coolGuy:Character = "\u{1F60E}"http://Unicode碼

在swift中坡椒,可以更精確的來判斷字符串長度扰路,不會受中文尤溜,Unicode影響,相比于OC的NSString來說汗唱,顯得更加實用宫莱。


字符串的一些操作

//uppercaseString,字符串全部轉成大寫

str.uppercaseString

//lowercaseString哩罪,字符串全部轉成小寫

str.lowercaseString

//capitalizedString授霸,每一句字符串首字母轉成大寫

str.capitalizedString

//containsString,判斷傳入的字符串是否被str包含

str.containsString("Hello")

//hasPrefix际插,判斷傳入的字符串是否含有str的前綴

str.hasPrefix("Hello")

//hasSuffix碘耳,判斷傳入的字符串是否含有str的后綴

str.hasSuffix("ft")

字符串的缺點:

let s = "one third is \(1.0/3.0)" 這段代碼就是算出1/3,結果的浮點數(shù)沒法去指定保留小數(shù)點后幾位框弛。

所以辛辨,引進了as這個關鍵字,用來強制類型轉化瑟枫。

as

我們可以利用NSString的方法來處理小數(shù)點問題斗搞,然后再強轉成String類型

let s2 = NSString(format: "one third is %.2f", 1.0/3.0) as String

NSString


總結:String字符串需要注意的就是獲取字符(Character)需要通過索引(Index),在String不好處理的一些邏輯慷妙,可以通過NSString來處理再as強轉僻焚,


最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市膝擂,隨后出現(xiàn)的幾起案子虑啤,更是在濱河造成了極大的恐慌隙弛,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,651評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件咐旧,死亡現(xiàn)場離奇詭異驶鹉,居然都是意外死亡,警方通過查閱死者的電腦和手機铣墨,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,468評論 3 392
  • 文/潘曉璐 我一進店門室埋,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人伊约,你說我怎么就攤上這事姚淆。” “怎么了屡律?”我有些...
    開封第一講書人閱讀 162,931評論 0 353
  • 文/不壞的土叔 我叫張陵腌逢,是天一觀的道長。 經常有香客問我超埋,道長搏讶,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,218評論 1 292
  • 正文 為了忘掉前任霍殴,我火速辦了婚禮媒惕,結果婚禮上,老公的妹妹穿的比我還像新娘来庭。我一直安慰自己妒蔚,他們只是感情好,可當我...
    茶點故事閱讀 67,234評論 6 388
  • 文/花漫 我一把揭開白布月弛。 她就那樣靜靜地躺著肴盏,像睡著了一般。 火紅的嫁衣襯著肌膚如雪帽衙。 梳的紋絲不亂的頭發(fā)上菜皂,一...
    開封第一講書人閱讀 51,198評論 1 299
  • 那天,我揣著相機與錄音厉萝,去河邊找鬼恍飘。 笑死,一個胖子當著我的面吹牛冀泻,可吹牛的內容都是我干的常侣。 我是一名探鬼主播,決...
    沈念sama閱讀 40,084評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼弹渔,長吁一口氣:“原來是場噩夢啊……” “哼胳施!你這毒婦竟也來了?” 一聲冷哼從身側響起肢专,我...
    開封第一講書人閱讀 38,926評論 0 274
  • 序言:老撾萬榮一對情侶失蹤舞肆,失蹤者是張志新(化名)和其女友劉穎焦辅,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體椿胯,經...
    沈念sama閱讀 45,341評論 1 311
  • 正文 獨居荒郊野嶺守林人離奇死亡筷登,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,563評論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了哩盲。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片前方。...
    茶點故事閱讀 39,731評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖廉油,靈堂內的尸體忽然破棺而出惠险,到底是詐尸還是另有隱情,我是刑警寧澤抒线,帶...
    沈念sama閱讀 35,430評論 5 343
  • 正文 年R本政府宣布班巩,位于F島的核電站,受9級特大地震影響嘶炭,放射性物質發(fā)生泄漏抱慌。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,036評論 3 326
  • 文/蒙蒙 一眨猎、第九天 我趴在偏房一處隱蔽的房頂上張望抑进。 院中可真熱鬧,春花似錦宵呛、人聲如沸单匣。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,676評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至码秉,卻和暖如春逮矛,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背转砖。 一陣腳步聲響...
    開封第一講書人閱讀 32,829評論 1 269
  • 我被黑心中介騙來泰國打工须鼎, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人府蔗。 一個月前我還...
    沈念sama閱讀 47,743評論 2 368
  • 正文 我出身青樓晋控,卻偏偏與公主長得像,于是被迫代替她去往敵國和親姓赤。 傳聞我的和親對象是個殘疾皇子赡译,可洞房花燭夜當晚...
    茶點故事閱讀 44,629評論 2 354

推薦閱讀更多精彩內容