swift - 字符串操作(替換雕凹、過(guò)濾、去掉空格、分割枚抵、拼接线欲、字符串截取)

    let s = " / 2 3 4 ? / "
    // 替換
    print("空格替換成-:", s.replacingOccurrences(of: " ", with: "-"))
    // 過(guò)濾
    print("空格過(guò)濾掉:", s.replacingOccurrences(of: " ", with: ""))
    // 去首尾空格
    print("去掉空格:", s.trimmingCharacters(in: .whitespaces))
    // 分割
    print("分割:", s.components(separatedBy: "/"))
    // 拼接
    let a = ["1", "2", "3"]
    print("拼接:", a.joined(separator: "-"))

字符串截绕 :

let timeString = "2016.12.12"
        
let timeString = "2016.12.12"

let index = timeString.index(timeString.endIndex, offsetBy: -2)
let suffix = timeString.substring(from: index)

let index1 = timeString.index(timeString.startIndex, offsetBy: 2)
let prefix = timeString.substring(to: index1)

let startRange = timeString.index(timeString.startIndex, offsetBy: 5)
let endRange = timeString.index(timeString.startIndex, offsetBy: 7)
let middle = timeString.substring(with: Range(startRange..<endRange))

Range使用:
let str = “反正我是帥的不要不要@罘帷!逼泣!你呢趴泌?"

let startIndex = str.startIndex.advancedBy(3) //參數(shù)必須大于等于0 
//以前用法  let startIndex = advance(self.startIndex, r.startIndex)
let endIndex = str.endIndex.advancedBy(-3) //參數(shù)必須小于0

let range = Range<String.Index>(start: startIndex, end: endIndex)
swift3.0改變?yōu)椋?let range = Range(startIndex..<endIndex)
print(str.startIndex)//起始位置
print(str.endIndex)//結(jié)束位置
print(str.substringWithRange(range))//截取字符串
print(str[startIndex])//開(kāi)始位置的字符
print(str[endIndex])//結(jié)束位置的字符

//建議轉(zhuǎn)成把String轉(zhuǎn)成NSString....

        let string = sender.text!
        var count = 0
        for c in string.characters {
            print(c)
            print(c.debugDescription)
            if c.debugDescription.validLeterAndFigure {
                count += 1
            } else {
                count += 2
            }
        }

Range使用舉例:

左到右截取
startIndex to offsetBy正數(shù)
右到左截取
endindex from offsetBy負(fù)數(shù)
func ga_dateToDay() -> String {
    
    let index = self.index(self.endIndex, offsetBy: -2)
    let suffix = self.substring(from: index)
    // substring(to: index)
    
    let startRange = self.index(self.startIndex, offsetBy: 5)
    let endRange = self.index(self.startIndex, offsetBy: 7)
    let middle = self.substring(with: Range(startRange..<endRange))
    // 月
    let middleInt = Int(middle)
    // 日
    let suffixInt = Int(suffix)
    
    let calendar = Calendar(identifier: .gregorian)
    let components = calendar.dateComponents([.month, .day], from: Date())
    // 月
    let month = components.month
    // 日
    let day = components.day
    
    if month == middleInt {
        if day == suffixInt {
            return "今天"
        }
        if day! > suffixInt! {
            if day! - suffixInt! == 1 {
                return "昨天"
            }
            return self
        }
    } else {
        if month! - middleInt! == 1 {
            if day == 1 {
                return "昨天"
            }
        }
    }
    
    return self
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市拉庶,隨后出現(xiàn)的幾起案子踱讨,更是在濱河造成了極大的恐慌,老刑警劉巖砍的,帶你破解...
    沈念sama閱讀 217,907評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件痹筛,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡廓鞠,警方通過(guò)查閱死者的電腦和手機(jī)帚稠,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,987評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)床佳,“玉大人滋早,你說(shuō)我怎么就攤上這事∑雒牵” “怎么了杆麸?”我有些...
    開(kāi)封第一講書人閱讀 164,298評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)浪感。 經(jīng)常有香客問(wèn)我昔头,道長(zhǎng),這世上最難降的妖魔是什么影兽? 我笑而不...
    開(kāi)封第一講書人閱讀 58,586評(píng)論 1 293
  • 正文 為了忘掉前任揭斧,我火速辦了婚禮,結(jié)果婚禮上峻堰,老公的妹妹穿的比我還像新娘讹开。我一直安慰自己,他們只是感情好捐名,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,633評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布旦万。 她就那樣靜靜地躺著,像睡著了一般镶蹋。 火紅的嫁衣襯著肌膚如雪成艘。 梳的紋絲不亂的頭發(fā)上拇砰,一...
    開(kāi)封第一講書人閱讀 51,488評(píng)論 1 302
  • 那天,我揣著相機(jī)與錄音狰腌,去河邊找鬼除破。 笑死,一個(gè)胖子當(dāng)著我的面吹牛琼腔,可吹牛的內(nèi)容都是我干的瑰枫。 我是一名探鬼主播,決...
    沈念sama閱讀 40,275評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼丹莲,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼光坝!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起甥材,我...
    開(kāi)封第一講書人閱讀 39,176評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤盯另,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后洲赵,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體鸳惯,經(jīng)...
    沈念sama閱讀 45,619評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,819評(píng)論 3 336
  • 正文 我和宋清朗相戀三年叠萍,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了芝发。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,932評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡苛谷,死狀恐怖辅鲸,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情腹殿,我是刑警寧澤独悴,帶...
    沈念sama閱讀 35,655評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站锣尉,受9級(jí)特大地震影響刻炒,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜悟耘,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,265評(píng)論 3 329
  • 文/蒙蒙 一落蝙、第九天 我趴在偏房一處隱蔽的房頂上張望织狐。 院中可真熱鬧暂幼,春花似錦、人聲如沸移迫。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 31,871評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)厨埋。三九已至邪媳,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背雨效。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 32,994評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工迅涮, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人徽龟。 一個(gè)月前我還...
    沈念sama閱讀 48,095評(píng)論 3 370
  • 正文 我出身青樓叮姑,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親据悔。 傳聞我的和親對(duì)象是個(gè)殘疾皇子传透,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,884評(píng)論 2 354

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