我有一个字符串
11/Passion/01PassionAwakening.mp3
Run Code Online (Sandbox Code Playgroud)
我需要删除最后一个路径组件
01PassionAwakening.mp3
Run Code Online (Sandbox Code Playgroud)
那看起来像
11/Passion
Run Code Online (Sandbox Code Playgroud)
怎么办呢?
我需要两个组件
Dha*_*ngh 23
您可以将您的网址分为两部分.以下给出
let str : NSString = "www.music.com/Passion/PassionAwakening.mp3"
let path : NSString = str.stringByDeletingLastPathComponent
let ext : NSString = str.lastPathComponent
print(path)
print(ext)
Run Code Online (Sandbox Code Playgroud)
www.music.com/Passion
PassionAwakening.mp3
Run Code Online (Sandbox Code Playgroud)
欲了解更多信息,请查看
Eri*_*ner 12
您应该尽可能地删除旧的NS
Objective-C类和手动路径字符串拆分.URL
改为使用:
let url = URL(fileURLWithPath: "a/b/c.dat", isDirectory: false)
let path = url.deletingLastPathComponent().relativePath // 'a/b'
let file = url.lastPathComponent // 'c.dat'
Run Code Online (Sandbox Code Playgroud)
这适用于Swift 3.0:
let fileName = NSString(string: "11/Passion/01PassionAwakening.mp3").lastPathComponent
Run Code Online (Sandbox Code Playgroud)
let str = "11/Passion/01PassionAwakening.mp3"
if !str.isEmpty {
let components = str.characters.split("/")
let head = components.dropLast(1).map(String.init).joinWithSeparator("/")
let tail = components.dropFirst(components.count-1).map(String.init)[0]
print("head:",head,"tail:", tail) // head: 11/Passion tail: 01PassionAwakening.mp3
} else {
print("path should not be an empty string!")
}
Run Code Online (Sandbox Code Playgroud)
斯威夫特4:
let components = path.split(separator: "/")
let directory = components.dropLast(1).map(String.init).joined(separator: "/")
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
18055 次 |
最近记录: |