私は最後のパスコンポーネントSwiftで文字列の最後のパスコンポーネントを削除するには?
01PassionAwakening.mp3
が、それはそれを行うことができますどのように
11/Passion
ように見える削除する必要がある文字列
11/Passion/01PassionAwakening.mp3
をしましたか?
と私は次の2つの部分にあなたのURLを分離することができ、私の必要性
私は最後のパスコンポーネントSwiftで文字列の最後のパスコンポーネントを削除するには?
01PassionAwakening.mp3
が、それはそれを行うことができますどのように
11/Passion
ように見える削除する必要がある文字列
11/Passion/01PassionAwakening.mp3
をしましたか?
と私は次の2つの部分にあなたのURLを分離することができ、私の必要性
のための両方のコンポーネントが必要です。これは一見
ノートに関するセクション全体を持っています。 – user3441734
文字列表現はどういう意味ですか? –
https://developer.apple.com/library/ios/documentation/Cocoa/Reference/Foundation/Classes/NSString_Class/#//apple_ref/occ/instp/NSString/stringByDeletingLastPathComponent – user3441734
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!")
}
Swift 3.0.1には構文が必要です:split(separator: "/") – clearlight
スウィフト3.0バージョン
if !str.isEmpty {
let components = str.characters.split(separator: "/")
let head = components.dropLast(1).map(String.init).joined(separator: "/")
let words = components.count-1
let tail = components.dropFirst(words).map(String.init)[0]
print("head:",head,"tail:", tail) // head: 11/Passion tail: 01PassionAwakening.mp3
} else {
print("path should not be an empty string!")
}
を持ってしてください詳しくは
let str : NSString = "www.music.com/Passion/PassionAwakening.mp3"
let path : NSString = str.stringByDeletingLastPathComponent
let ext : NSString = str.lastPathComponent
print(path)
print(ext)
www.music.com/Passion
PassionAwakening.mp3
以下に示します。
これは、同様スウィフト3.0のために動作します:
let fileName = NSString(string: "11/Passion/01PassionAwakening.mp3").lastPathComponent
あなたは本当にレガシーNS
Objective-Cのクラスと手動のパス文字列分割可能と離れて行う必要があります。代わりにURL
を使用してください:
let url = URL(fileURLWithPath: "a/b/c.dat")
let path = url.deletingLastPathComponent().relativePath // 'a/b'
let file = url.lastPathComponent // 'c.dat'
NSStringのドキュメントは、この方法が唯一のファイルパス(URLのではない、例えば、文字列表現)で動作することを「パスの操作」... –