Swift基礎(chǔ)篇——字符串

字符

正式介紹字符串之前呢,需要引入一個(gè)新的數(shù)據(jù)類型游岳,即字符(Character)班缎,字符類型只能存放一個(gè)字符,例如:

var ch : Character = "!"

單獨(dú)的一個(gè)字符可以拼接在一個(gè)字符串的后面揣非,具體方法如下:

var str = "Hello, playground"
str.append(ch)

字符串

//常量字符串抡医,不能對(duì)其進(jìn)行重新賦值或者拼接等操作
let str2 = "I'm an immutable string"

//可變字符串
var str = "你好, playground"
//字符串的拼接
str += "\u{1F496}"

//初始化一個(gè)空的字符串
//方法一
var emptyString = ""
//方法二    實(shí)際上是創(chuàng)建了一個(gè)字符串類的對(duì)象
var anotherEmptyString = String()

//判斷當(dāng)前字符串是否為空,返回的是一個(gè)Bool類型
str.isEmpty

//字符串的遍歷
for c in str.characters
{
    print(c)
}

//計(jì)算字符串的長(zhǎng)度
str.characters.count

//字符串的插值 String Interpolation
let imInt:Int = 2
let imTouble:(Bool,Float) = (true,1.1435926)
print("\(imInt),\(imTouble.0)")
//輸出結(jié)果為:2,true

//字符串的比較
let str_a = "abc"
let str_b = "abc"
str_a == str_b //true
let str_c = "abd"
str_a < str_c  //true
let str_d = "abcd"
str_c < str_d //false

//前綴和后綴的判斷
str.hasPrefix("http") //false
str.hasSuffix("playground") //true

//import Foundation以后就可以用String來(lái)使用OC中NSString中的所有方法
import Foundation

// 下面的大小寫轉(zhuǎn)換的方法均不改變str本身的值
//把字符串中的每一個(gè)單詞的首字母都轉(zhuǎn)換成大寫
str.capitalized
//把字符串中所有的字符轉(zhuǎn)換成大寫
str.uppercased()
//把字符串
str.lowercased()

//trim操作,即對(duì)字符串頭尾中沒(méi)有用的字符進(jìn)行截取早敬,只保留中間有用的部分
var str3 = "      !so cool        "
str3.trimmingCharacters(in: NSCharacterSet.whitespaces) //!so cool
str3.trimmingCharacters(in: NSCharacterSet.init(charactersIn: " !") as CharacterSet)//so cool

//字符串的分割:把字符串按某個(gè)字符或字符串截取成一個(gè)一個(gè)的單詞
var str4 = "welcom to play"
str4.components(separatedBy: " ") //["welcom", "to", "play"]
str4 = "welcoom to play swift!Step-by-step learn from now"
str4.components(separatedBy: NSCharacterSet.init(charactersIn: " !-") as CharacterSet)//["welcoom", "to", "play", "swift", "Step", "by", "step", "learn", "from", "now"]

//join 字符串的連接
var arry = ["a","b","c"]
let res = arry.joined(separator: "_") //"a_b_c"


//查找字符串中某個(gè)字符穿出現(xiàn)的范圍
str4.range(of:"play")
str4.range(of: "welcom", options: String.CompareOptions.caseInsensitive)//忽略大小寫進(jìn)行查找

str4.startIndex
str4.endIndex

//截取字符串
let startIndex:String.Index = str4.startIndex
let endIndex:String.Index = str4.index(str4.startIndex, offsetBy: 8)
//下面的寫法在swift 3.0中是錯(cuò)誤的
//let strRange = Range<String.Index>(start:startIndex,end:endIndex)
//swift 3.0中的正確寫法為
let strRange = startIndex ..< endIndex
str4.substring(with: strRange) //"welcome t"
str4.substring(to: endIndex) //"welcome t"
str4.substring(from: startIndex)

//插入字符串
var insertIndex = str4.index(str4.startIndex, offsetBy: 2)
str4.insert("!", at: insertIndex)

//刪除字符
str4.remove(at: insertIndex)
str4.removeSubrange(strRange)

//替換字符串
str4.replaceSubrange(strRange, with: "hello")

關(guān)于字符串的更多操作后續(xù)補(bǔ)充忌傻,可參考這里

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市搞监,隨后出現(xiàn)的幾起案子水孩,更是在濱河造成了極大的恐慌,老刑警劉巖琐驴,帶你破解...
    沈念sama閱讀 221,331評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件俘种,死亡現(xiàn)場(chǎng)離奇詭異秤标,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)宙刘,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,372評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門苍姜,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人悬包,你說(shuō)我怎么就攤上這事衙猪。” “怎么了布近?”我有些...
    開封第一講書人閱讀 167,755評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵垫释,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我撑瞧,道長(zhǎng)棵譬,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,528評(píng)論 1 296
  • 正文 為了忘掉前任预伺,我火速辦了婚禮订咸,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘扭屁。我一直安慰自己算谈,他們只是感情好涩禀,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,526評(píng)論 6 397
  • 文/花漫 我一把揭開白布料滥。 她就那樣靜靜地躺著,像睡著了一般艾船。 火紅的嫁衣襯著肌膚如雪葵腹。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,166評(píng)論 1 308
  • 那天屿岂,我揣著相機(jī)與錄音践宴,去河邊找鬼。 笑死爷怀,一個(gè)胖子當(dāng)著我的面吹牛阻肩,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播运授,決...
    沈念sama閱讀 40,768評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼烤惊,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了吁朦?” 一聲冷哼從身側(cè)響起柒室,我...
    開封第一講書人閱讀 39,664評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎逗宜,沒(méi)想到半個(gè)月后雄右,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體空骚,經(jīng)...
    沈念sama閱讀 46,205評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,290評(píng)論 3 340
  • 正文 我和宋清朗相戀三年擂仍,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了囤屹。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,435評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖告组,靈堂內(nèi)的尸體忽然破棺而出午绳,到底是詐尸還是另有隱情,我是刑警寧澤冲簿,帶...
    沈念sama閱讀 36,126評(píng)論 5 349
  • 正文 年R本政府宣布,位于F島的核電站亿昏,受9級(jí)特大地震影響峦剔,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜角钩,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,804評(píng)論 3 333
  • 文/蒙蒙 一吝沫、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧递礼,春花似錦惨险、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,276評(píng)論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至将硝,卻和暖如春恭朗,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背依疼。 一陣腳步聲響...
    開封第一講書人閱讀 33,393評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工痰腮, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人律罢。 一個(gè)月前我還...
    沈念sama閱讀 48,818評(píng)論 3 376
  • 正文 我出身青樓膀值,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親误辑。 傳聞我的和親對(duì)象是個(gè)殘疾皇子沧踏,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,442評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容