swift學(xué)習(xí)之字符串

自己學(xué)習(xí)整理的一些字符串的用法:

//字符串的初始化
var str:String = "hellow Swift"

var str2 = "222"

//字符串的拼接和格式化
str += str2
let number = 100
let name = "你剛回來(lái)了"
//拼接其他類(lèi)型
var str3:String = "name = \(name),age = \(number)"
//oc形式的拼接方法
var str4 = String(format: "%@,%@", arguments: ["xiao","ming"])


//字符串額截榷涸浴(字符串和oc的字符串可以無(wú)縫連接)
//裝換oc的字符串可以使用oc的一些截取的方法
var  str5:NSString = "你剛回來(lái)了"
var  str6 = "你剛回來(lái)了" as NSString
var substr = str6.substringWithRange(NSMakeRange(0, 4))

//swift的字符的截取
var str7 = "你剛回來(lái)了234567890"
// let index = advance(s.startIndex, 5)  swift 1.x
//let index2 = advance(s.endIndex, -6); swift 1.x
let index = str7.startIndex.advancedBy(5) //swift 2.0+
let index2 = str7.endIndex.advancedBy(-2) //swift 2.0+
var range = Range<String.Index>(start: index,end: index2)
//從什么地方開(kāi)始截妊晷铡(從index開(kāi)始侍咱,不包含index的字符)
var subStr1 = str7.substringFromIndex(index);
//從0開(kāi)始截取 到字符串中長(zhǎng)度的減6的位置結(jié)束(不包含index2)
var subStr2 = str7.substringToIndex(index2);
//從index的位置到index2的位置(不包含index和index2的位置)
var substr3 = str7.substringWithRange(range);

//遍歷字符
for c in str4.characters
{
    print(c)

}

在swift4之后substring的方法被廢除
只能使用以下方式自己實(shí)現(xiàn)

swift5

let str = "Hello, playgroud"
// character
let index = str.index(before: str.endIndex)
print(str[index])  // d
// range
let range = str.startIndex..<str.index(before: str.endIndex)
print(str[range])  // Hello, playgroud
let str = "Hello, playgroud"
// character 從第7個(gè)位置取一個(gè)字符
let index = str.index(str.startIndex, offsetBy: 7)
print(str[index])  // p

// range 從7個(gè)開(kāi)始到末尾倒數(shù)4個(gè)
let start = str.index(str.startIndex, offsetBy: 7)
let end = str.index(str.endIndex, offsetBy: -6)
let range = start..<end
print(str[range])  // play
//從開(kāi)始取5個(gè)字符
let mySubstring = str.prefix(5)
print(mySubstring) // Hello
//末尾取10個(gè)字符
let mySubstring1 = str.suffix(10)
print(mySubstring1) // playground

實(shí)例:實(shí)現(xiàn)獲取子字符串

從第幾個(gè)字符開(kāi)始舍悯,取幾個(gè)字符

extension String {
    
    /// substring
    ///
    /// - Parameters:
    ///   - fromPoint: start point
    ///   - offset: from start point get string lenth
    /// - Returns: string
    func wm_substring(from fromPoint:Int,lenth offset:Int) -> String {
                let sIndex = self.index(self.startIndex, offsetBy:fromPoint - 1)
        guard let index = self.index(sIndex, offsetBy: offset, limitedBy: self.endIndex) else { return "" }
        return String(self[index])
    }

    
}

使用

let str = "1233dfdsadads"
print(str.wm_substring(from: 3, lenth: 1))
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末戒祠,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子绿渣,更是在濱河造成了極大的恐慌,老刑警劉巖燕耿,帶你破解...
    沈念sama閱讀 206,482評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件中符,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡誉帅,警方通過(guò)查閱死者的電腦和手機(jī)淀散,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,377評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)堵第,“玉大人吧凉,你說(shuō)我怎么就攤上這事√ぶ荆” “怎么了阀捅?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,762評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)针余。 經(jīng)常有香客問(wèn)我饲鄙,道長(zhǎng),這世上最難降的妖魔是什么圆雁? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,273評(píng)論 1 279
  • 正文 為了忘掉前任忍级,我火速辦了婚禮,結(jié)果婚禮上伪朽,老公的妹妹穿的比我還像新娘轴咱。我一直安慰自己,他們只是感情好烈涮,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,289評(píng)論 5 373
  • 文/花漫 我一把揭開(kāi)白布朴肺。 她就那樣靜靜地躺著,像睡著了一般坚洽。 火紅的嫁衣襯著肌膚如雪戈稿。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,046評(píng)論 1 285
  • 那天讶舰,我揣著相機(jī)與錄音鞍盗,去河邊找鬼。 笑死跳昼,一個(gè)胖子當(dāng)著我的面吹牛般甲,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播庐舟,決...
    沈念sama閱讀 38,351評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼欣除,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了挪略?” 一聲冷哼從身側(cè)響起历帚,我...
    開(kāi)封第一講書(shū)人閱讀 36,988評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎杠娱,沒(méi)想到半個(gè)月后挽牢,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,476評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡摊求,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,948評(píng)論 2 324
  • 正文 我和宋清朗相戀三年禽拔,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片室叉。...
    茶點(diǎn)故事閱讀 38,064評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡睹栖,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出茧痕,到底是詐尸還是另有隱情野来,我是刑警寧澤,帶...
    沈念sama閱讀 33,712評(píng)論 4 323
  • 正文 年R本政府宣布踪旷,位于F島的核電站曼氛,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏令野。R本人自食惡果不足惜舀患,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,261評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望气破。 院中可真熱鬧聊浅,春花似錦、人聲如沸现使。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,264評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)朴下。三九已至努咐,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間殴胧,已是汗流浹背渗稍。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,486評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留团滥,地道東北人竿屹。 一個(gè)月前我還...
    沈念sama閱讀 45,511評(píng)論 2 354
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像灸姊,于是被迫代替她去往敵國(guó)和親拱燃。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,802評(píng)論 2 345

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