swift中獲取字符串前綴的七種方法總結
我們以為 "Hello World"
這個字符串為例,判斷是否以 Hello 開頭。
1. 使用 hasPrefix(_:) 方法
可以使用字符串的 hasPrefix(_:)
方法檢查字符串是否有指定的前綴:
let str = "Hello World" if str.hasPrefix("Hello") { // true print("\(str) 以 Hello 開頭") }
這個方法直接返回一個 Bool
來判斷是否以某個字符串開頭。
2. prefix 函數獲取前綴子字符串
可以使用 prefix(_:)
來獲取前綴子字符串:
let str = "Hello World" let prefix = str.prefix(5) if prefix == "Hello" { print("\(str) 以 Hello 開頭") }
這種方法利用 prefix
函數獲取前 5 個字符,然后再與 "Hello" 做對比。
3. prefix(upTo:) 函數獲取前綴子字符串
可以使用 prefix(upTo:)
來獲取前綴子字符串:
let str = "Hello World" let index = str.index(str.startIndex, offsetBy: 5) let prefix = str.prefix(upTo: index) if prefix == "Hello" { print("\(str) 以 Hello 開頭") }
這種方法先利用 index(_:, offsetBy:)
獲取前五個字符的下標,然后利用 prefix(upTo:)
函數獲取前 5 個字符,最后與 "Hello" 做對比的方式,適用于獲取字符串前 n 個字符的情況。
4. 使用字符串區(qū)間索引
先獲取前 5 個字符的下標,再根據下標區(qū)間獲取前 5 個字符的值,最后再與對應的字符串對比:
let str = "Hello World" let index = str.index(str.startIndex, offsetBy: 5) let prefix = str[..<index] if prefix == "Hello" { print("\(str) 以 Hello 開頭") }
5. 使用條件獲取
可以使用 prefix(while:)
獲取滿足條件的前綴:
let str = "Hello World" let prefix = str.prefix { c in !c.isWhitespace } if prefix == "Hello" { print("\(str) 以 Hello 開頭") }
這種方法利用 prefix(while:)
函數獲取指定指定條件(第一個空格之前)的字符串,再和 "Hello" 對比得出結果。
6. 使用 firstIndex/lastIndex
可以結合 firstIndex(of:)
或 lastIndex(of:)
獲取特定字符的索引,從而獲取前綴:
let str = "Hello World" if let end = str.firstIndex(of: " "), str[..<end] == "Hello" { print("\(str) 以 Hello 開頭") }
先用 firstIndex(of:)
方法獲取到第一個空格所在的位置,再根據下標區(qū)間獲取指定的前綴。
7. 使用 prefix(through:) 函數
prefix(through:)
可以獲得從開頭到指定位置的子集合,跟上邊第二種方法差不多,只不過這里的參數傳的是下標類型:
let str = "Hello World" let index = str.index(str.startIndex, offsetBy: 4) let prefix = str.prefix(through: index) if prefix == "Hello" { print("\(str) 以 Hello 開頭") }
以上就是獲取字符串前綴的 7 種常用方法,可以根據需要選擇最適合的方式。
以上就是swift中獲取字符串前綴的七種方法總結的詳細內容,更多關于swift獲取字符串前綴的資料請關注腳本之家其它相關文章!
相關文章
Objective-c代碼如何移植為Swift代碼 Objective-c代碼轉移到Swift過程介紹
這篇文章主要介紹了Objective-c代碼如何移植為Swift代碼,Objective-c代碼轉移到Swift過程介紹,需要的朋友可以參考下2014-07-07Swift中實現點擊、雙擊、捏、旋轉、拖動、劃動、長按手勢的類和方法介紹
這篇文章主要介紹了Swift中實現點擊、雙擊、捏、旋轉、拖動、劃動、長按手勢的類和方法介紹,本文分別給出了各種手勢的實現代碼,需要的朋友可以參考下2015-01-01