Swift學(xué)習(xí) -- 字符串

一.字符串的介紹

  • 字符串的使用,在任何一門編程語言的開發(fā)中都是非常頻繁的。

二.與OC的區(qū)別

  • Swift中字符串是一個結(jié)構(gòu)體,OC字符串是一個對象,性能比OC字符串要高。
  • Swift中字符串的類型是String,寫法"abc",而OC是NSString,寫法@"abc"。
  • Swift中的字符串支持直接遍歷。

三.用法

1.定義

格式:
let 標(biāo)識符 = "值"

var 標(biāo)識符 = ”值“
例子:

//OC
NSString * str = @“瘋狂的小托馬斯”;

//Swift
let str = "瘋狂的小托馬斯"
var str1 = "瘋狂的小托馬斯"

2.遍歷字符串

  • String 支持直接遍歷。
    例子:
var str = "瘋狂的小托馬斯"
for c in str.characters{
    print(c)
}

3.拼接字符串

  • 字符串之間的拼接
    直接用+進(jìn)行拼接。
    例子:
let  s = "瘋狂"
let s1 = "的"
let s2 = "小托馬斯"
let resultStr = s + s1 + s2
print(resultStr)
//打印結(jié)果:瘋狂的小托馬斯 
var s3 = "最牛de "
s3 += resultStr
print(s3)
//打印結(jié)果:最牛de瘋狂的小托馬斯
  • 字符串與其他不同類型的標(biāo)識符拼接
    格式 :
    /(標(biāo)識符)
    例子:
let age = 22
let name = "瘋狂的小托馬斯"
var str3 = "name = \(name),age = \(age)"
print(str3)
//打印結(jié)果:name = 瘋狂的小托馬斯,age = 22

4.字符串的格式化

-使用的方法與OC類似,只是表現(xiàn)形式不同。
例子:

//OC
NSString * time = [NSString stringWithFormat:@"%02d:%20d:%02d",9,9,13];
//Swift
var time = String(format: "%02d : %02d : %02d", arguments: [9, 9, 13])
print(time)
//打印結(jié)果:09 : 09 : 13

5.字符串的截取

  • 字符串截取有2種方式。
    • OC對象方式截取
      將string轉(zhuǎn)換成NSString進(jìn)行截取操作。
      例子:
 let s = "瘋狂的小托馬斯"
let h = (s as NSString).substringToIndex(2)
let m = (s as NSString).substringWithRange(NSMakeRange(2, 1))
let t = (s as NSString).substringFromIndex(3)
print(h)
print(m)
print(t)
/*打印結(jié)果:
瘋狂
的
小托馬斯
*/
  • string直接截取
let nameStr = "瘋狂的小托馬斯"
//創(chuàng)建Index
let indexS = nameStr.startIndex.advancedBy(2)
let indexEnd = nameStr.endIndex.advancedBy(-4)//endIndex注意要逆序,并且要負(fù)數(shù)
let range = Range<String.Index>(start: indexS, end: indexEnd)
//截取
let header = nameStr.substringToIndex(indexS)
let body = nameStr.substringWithRange(range)
let footer = nameStr.substringFromIndex(indexEnd)
print(header+body+footer)
//打印結(jié)果:瘋狂的小托馬斯
let index = nameStr.characters.indexOf("的") //根據(jù)字符查找index,最先遍歷那個字符
//index = 2

如果大家有什么疑惑,或者文章有什么錯誤的地方,請大家留言。

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

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

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