我有以下路徑(它們是一個例子),我希望能夠得到下面的結果。
/Users/nameUser
/Users
/Users/nameUser/Downloads/nameDir
/Users/nameUser/Documents/nameDir
/Users/nameUser/Desktop/nameDir/nameProject
結果:
/Users/nameUser
/Users/
~/Downloads/nameDir
~/Documents/nameDir
~/Desktop/nameDir/nameProject
uj5u.com熱心網友回復:
可以提供主FileManager目錄路徑。因此,您可以檢查路徑是否以它開頭,如果是,則將其替換為波浪號。
func pathWithTilde(_ path: String) -> String {
let homeDir = FileManager.default.homeDirectoryForCurrentUser.path "/"
if path.starts(with: homeDir) {
return "~/" path[homeDir.endIndex...]
}
return path
}
更新
事實證明這已經作為一種方法存在NSString(盡管它也會轉換/Users/nameUser為~)。一個小String擴展有助于隱藏NSString細節。
extension String {
func abbreviatingWithTildeInPath() -> String {
return (self as NSString).abbreviatingWithTildeInPath
}
}
print("/Users/nameUser/Downloads/nameDir".abbreviatingWithTildeInPath())
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/455125.html
