[swift]字串交換、切割、串接、擷取、檢查

閱讀時間約 4 分鐘

字串交換:

let str = "被誰喜歡,又喜歡誰呢?"
// 交換
print(str.replacingOccurrences(of: ",又", with: "?"))
//被誰喜歡?喜歡誰呢?


字串去首尾:

let str = "被誰喜歡,又喜歡誰呢?"
// 去首尾
print(str.trimmingCharacters(in: CharacterSet.init(charactersIn: "呢被?歡")))
//誰喜歡,又喜歡誰呢


字串切割:

let str = "被誰喜歡,又喜歡誰呢?"
// 切割
print("用components:",str.components(separatedBy: ","))
//用components: ["被誰喜歡", "又喜歡誰呢?"]

print("用split:",str.split(separator: ","))
//用split: ["被誰喜歡", "又喜歡誰呢?"]


字串串接:

let str = "被誰喜歡,又喜歡誰呢?"
// 串接
let arr = ["接", "下", "來"]
print(arr.joined(separator: ""))
//接下來


字串擷取:

//字串擷取
//index offsetBy
let cutStr = "誠實面對自己"
let start = cutStr.index(cutStr.startIndex, offsetBy: 3)
print(String(cutStr.suffix(from: start)))
//對自己

print(String(cutStr.prefix(upTo: start)))
//誠實面

// 從後面數來 第-5個
let end = cutStr.index(cutStr.endIndex, offsetBy: -4)
print(String(cutStr.suffix(from: end)))
//面對自己

print(String(cutStr.prefix(upTo: end)))
//誠實

//index before 取之前
// 在index之前
print(String(cutStr.suffix(from: cutStr.index(before: cutStr.endIndex))))
//己

print(String(cutStr.prefix(upTo: cutStr.index(before: cutStr.endIndex))))
//誠實面對自

//index after 取之後
// 在index之後
print(String(cutStr.suffix(from: cutStr.index(after: cutStr.startIndex))))
//實面對自己

print(String(cutStr.prefix(upTo: cutStr.index(after: cutStr.startIndex))))
//誠

//直接給index類型
print(String(cutStr.prefix(4)))
//誠實面對
print(String(cutStr[..<start]))
//誠實面

//取範圍 第4個位置向後取2位
print((cutStr as NSString).substring(with: NSMakeRange(4,2)))
//自己

通過調用字符串的hasPrefix/hasSuffix方法來檢查字符串是否擁有特定前綴/後綴。兩個方法均需要以字符串作為參數傳入並傳出Boolean值。兩個方法均執行基本字符串和前綴/後綴字符串之間逐個字符的比較操作。

print(str.hasPrefix("喜歡"))//false
print(str.hasPrefix("被"))//true
print(str.hasSuffix("喜歡"))//false
print(str.hasSuffix("?"))//true




8會員
118Content count
嗨,我是一名程式設計師,會在這分享開發與學習紀錄。
留言0
查看全部
發表第一個留言支持創作者!
小黑與程式的邂逅 的其他內容
int to data: //int to data var num = -12300 let data = Data.init(bytes: &num, count: MemoryLayout.size(ofValue: num)) // bytes : 8 elements //
以底下兩數字為例: let bin1:UInt8 = 0b11111111 //255 let bin2:UInt8 = 0b00001000 //8 向右位移: let shiftRightBin1Result = bin1>>1 print(String(shiftRightBin1R
以底下兩數字為例: let bin1:UInt8 = 0b11111111 //255 let bin2:UInt8 = 0b00001000 //8 and運算 let andResult = bin1 & bin2 print(String(andResult,radix: 2))//
二進制表示方式 let bin1:UInt8 = 0b11111111 //255 let bin2:UInt8 = 0b00001000 //8 八進制表示方式 let otc:UInt8 = 0o377 //255 十六進制表示方式 let hex:UInt8 = 0xff /
十進位轉二進位(Decimal to Binary) let dec = -813 let bin = String(UInt16(bitPattern: Int16(dec)), radix: 2) print(bin) // "1111110011010011" 十進位轉八進位(Deci
十進位轉二進位(Decimal to Binary) let dec = 813 let bin = String(dec, radix: 2) print(bin) // "1100101101" 十進位轉八進位(Decimal to Octal) let dec = 813 let o
int to data: //int to data var num = -12300 let data = Data.init(bytes: &num, count: MemoryLayout.size(ofValue: num)) // bytes : 8 elements //
以底下兩數字為例: let bin1:UInt8 = 0b11111111 //255 let bin2:UInt8 = 0b00001000 //8 向右位移: let shiftRightBin1Result = bin1>>1 print(String(shiftRightBin1R
以底下兩數字為例: let bin1:UInt8 = 0b11111111 //255 let bin2:UInt8 = 0b00001000 //8 and運算 let andResult = bin1 & bin2 print(String(andResult,radix: 2))//
二進制表示方式 let bin1:UInt8 = 0b11111111 //255 let bin2:UInt8 = 0b00001000 //8 八進制表示方式 let otc:UInt8 = 0o377 //255 十六進制表示方式 let hex:UInt8 = 0xff /
十進位轉二進位(Decimal to Binary) let dec = -813 let bin = String(UInt16(bitPattern: Int16(dec)), radix: 2) print(bin) // "1111110011010011" 十進位轉八進位(Deci
十進位轉二進位(Decimal to Binary) let dec = 813 let bin = String(dec, radix: 2) print(bin) // "1100101101" 十進位轉八進位(Decimal to Octal) let dec = 813 let o
你可能也想看
Thumbnail
1.加權指數與櫃買指數 週五的加權指數在非農就業數據開出來後,雖稍微低於預期,但指數仍向上噴出,在美股開盤後於21500形成一個爆量假突破後急轉直下,就一路收至最低。 台股方面走勢需觀察週一在斷頭潮出現後,週二或週三開始有無買單進場支撐,在沒有明確的反轉訊號形成前,小夥伴盡量不要貿然抄底,或是追空
Thumbnail
近期的「貼文發佈流程 & 版型大更新」功能大家使用了嗎? 新版式整體視覺上「更加凸顯圖片」,為了搭配這次的更新,我們推出首次貼文策展 ❤️ 使用貼文功能並完成這次的指定任務,還有機會獲得富士即可拍,讓你的美好回憶都可以用即可拍珍藏!
Thumbnail
字數算法 = string.count? 在swift算一個string的字數時候,很直覺的會想到用.count來算 let s = "這是幾個字呢".count print(s.count) // 6 毫無疑問的安心信賴6個字 表情符號的場合 let emoji = "😂" print
Thumbnail
一樣先來看官方文件 A view controller that provides access to documents or destinations outside your app’s sandbox. 其實就是讓你去讀取檔案App的東西 有兩種模式,Don’t copy the do
swift讀書筆記 https://docs.swift.org/swift-book/documentation/the-swift-programming-language/deinitialization/  class instance deallocated前會call deinitia
Thumbnail
swift讀書筆記 Documentation Edit descriptiondocs.swift.org objective-c 的init 會return value,swift 不會。 所有的property都必須在Init()裡面設定初始值,或設定stored property,這種
Thumbnail
其實16也會ㄏㄏ 相關討論: https://developer.apple.com/forums/thread/703145 重現步驟: 在iOS15以上,使用UIActivityViewController執行下列步驟會crash 1. 開啟UIActivityViewControlle
Thumbnail
一般來說在swift把Date轉成String,會使用dateFormat轉換 使用HH:mm轉成24小時制需注意的地方
三元條件運算子(Ternary Conditional Operator)是一種簡潔的寫法,用於在滿足條件時返回一個值,否則返回另一個值。 基本語法 其中,condition是要測試的條件,如果為true,則返回valueIfTrue,否則返回valueIfFalse。
Thumbnail
如何將對稱密鑰轉換成字串,以及如何從字串反向生成原有的對稱密鑰
Thumbnail
俄羅斯被踢出 SWIFT 支付系統,媒體形容是美、歐政府對俄羅斯發動了金融核戰。到底什麼是 SWIFT 它是如何運作的,鬼宿來告訴大家媒體沒有說清楚的事。可以這麼說:如果沒有 SWIFT;美元連在境內流動都將是不可能的任務。
Thumbnail
1.加權指數與櫃買指數 週五的加權指數在非農就業數據開出來後,雖稍微低於預期,但指數仍向上噴出,在美股開盤後於21500形成一個爆量假突破後急轉直下,就一路收至最低。 台股方面走勢需觀察週一在斷頭潮出現後,週二或週三開始有無買單進場支撐,在沒有明確的反轉訊號形成前,小夥伴盡量不要貿然抄底,或是追空
Thumbnail
近期的「貼文發佈流程 & 版型大更新」功能大家使用了嗎? 新版式整體視覺上「更加凸顯圖片」,為了搭配這次的更新,我們推出首次貼文策展 ❤️ 使用貼文功能並完成這次的指定任務,還有機會獲得富士即可拍,讓你的美好回憶都可以用即可拍珍藏!
Thumbnail
字數算法 = string.count? 在swift算一個string的字數時候,很直覺的會想到用.count來算 let s = "這是幾個字呢".count print(s.count) // 6 毫無疑問的安心信賴6個字 表情符號的場合 let emoji = "😂" print
Thumbnail
一樣先來看官方文件 A view controller that provides access to documents or destinations outside your app’s sandbox. 其實就是讓你去讀取檔案App的東西 有兩種模式,Don’t copy the do
swift讀書筆記 https://docs.swift.org/swift-book/documentation/the-swift-programming-language/deinitialization/  class instance deallocated前會call deinitia
Thumbnail
swift讀書筆記 Documentation Edit descriptiondocs.swift.org objective-c 的init 會return value,swift 不會。 所有的property都必須在Init()裡面設定初始值,或設定stored property,這種
Thumbnail
其實16也會ㄏㄏ 相關討論: https://developer.apple.com/forums/thread/703145 重現步驟: 在iOS15以上,使用UIActivityViewController執行下列步驟會crash 1. 開啟UIActivityViewControlle
Thumbnail
一般來說在swift把Date轉成String,會使用dateFormat轉換 使用HH:mm轉成24小時制需注意的地方
三元條件運算子(Ternary Conditional Operator)是一種簡潔的寫法,用於在滿足條件時返回一個值,否則返回另一個值。 基本語法 其中,condition是要測試的條件,如果為true,則返回valueIfTrue,否則返回valueIfFalse。
Thumbnail
如何將對稱密鑰轉換成字串,以及如何從字串反向生成原有的對稱密鑰
Thumbnail
俄羅斯被踢出 SWIFT 支付系統,媒體形容是美、歐政府對俄羅斯發動了金融核戰。到底什麼是 SWIFT 它是如何運作的,鬼宿來告訴大家媒體沒有說清楚的事。可以這麼說:如果沒有 SWIFT;美元連在境內流動都將是不可能的任務。