我想使用相同的技術在你的問題做出了榜樣 - 儘管該向下轉換到的NSString使得整個事情相當醜陋的事實,它的工作效率。這是在Swift 3中,但如果需要的話,可以很容易地將它移回Swift 2。
func getComponents(from str: String) -> (name: String, middle: String, ext: String) {
let compo = (str as NSString).lastPathComponent as NSString
let ext = compo.pathExtension
let temp = compo.deletingPathExtension as NSString
let middle = temp.pathExtension
let file = temp.deletingPathExtension
return (name: file, middle: middle, ext: ext)
}
let result = getComponents(from: "/acme101/acmeX100/acmeX100.008.png")
print(result.name) // "acmeX100"
print(result.middle) // "008"
print(result.ext) // "png"
如果你只需要在中間部分:
func pluck(str: String) -> String {
return (((str as NSString).lastPathComponent as NSString).deletingPathExtension as NSString).pathExtension
}
pluck(str: "/acme101/acmeX100/acmeX100.008.png") // "008"
從'leftSide',得到的範圍內 「」並獲得它後面的部分? – Larme
如果您需要,您的一個班輪是對自定義功能的呼叫... – Wain