반응형
신속한 파일 경로에서 파일 이름을 얻는 방법
주어진 파일 경로 문자열에서 파일 이름을 얻는 방법은 무엇입니까?
예를 들어 파일 경로 문자열이
file:///Users/DeveloperTeam/Library/Developer/CoreSimulator/Devices/F33222DF-D8F0-448B-A127-C5B03C64D0DC/data/Containers/Data/Application/5D0A6264-6007-4E69-A63B-D77868EA1807/tmp/trim.D152E6EA-D19D-4E3F-8110-6EACB2833CE3.MOV
반환 결과를 다음과 같이 얻고 싶습니다.
trim.D152E6EA-D19D-4E3F-8110-6EACB2833CE3.MOV
도와 주셔서 감사합니다.
목표 C
NSString* theFileName = [string lastPathComponent]
빠른
let theFileName = (string as NSString).lastPathComponent
SWIFT 3.x 또는 SWIFT 4 :이 작업을 수행하는 가장 짧고 깨끗한 방법은 다음과 같습니다. 이 예제에서 url
변수는 다음과 같은 유형입니다 URL
. String
확장자가 like My file name.txt
및 Not like 인 전체 파일 이름의 사람이 읽을 수있는 결과를 얻을 수 있습니다.My%20file%20name.txt
// Result like: My file name.txt
let fileName = url.lastPathComponent
스위프트 2 :
var file_name = NSURL(fileURLWithPath: path_to_file).lastPathComponent!
로깅 목적과 같은 현재 파일 이름을 얻으려면 이것을 사용합니다.
스위프트 4
URL(fileURLWithPath: #file).lastPathComponent
이 시도
let filename: String = "your file name"
let pathExtention = filename.pathExtension
let pathPrefix = filename.stringByDeletingPathExtension
업데이트 :
extension String {
var fileURL: URL {
return URL(fileURLWithPath: self)
}
var pathExtension: String {
return fileURL.pathExtension
}
var lastPathComponent: String {
return fileURL.lastPathComponent
}
}
도움이되기를 바랍니다.
아래 코드는 Swift 4.X에서 저에게 효과적입니다.
let filename = (self.pdfURL as NSString).lastPathComponent // pdfURL is your file url
let fileExtention = (filename as NSString).pathExtension // get your file extension
let pathPrefix = (filename as NSString).deletingPathExtension // File name without extension
self.lblFileName.text = pathPrefix // Print name on Label
두 개의 이전 폴더를 포함하는 고유 한 "파일 이름"양식 URL을 생성합니다.
func createFileNameFromURL (colorUrl: URL) -> String {
var arrayFolders = colorUrl.pathComponents
// -3 because last element from url is "file name" and 2 previous are folders on server
let indx = arrayFolders.count - 3
var fileName = ""
switch indx{
case 0...:
fileName = arrayFolders[indx] + arrayFolders[indx+1] + arrayFolders[indx+2]
case -1:
fileName = arrayFolders[indx+1] + arrayFolders[indx+2]
case -2:
fileName = arrayFolders[indx+2]
default:
break
}
return fileName
}
Swift> = 4.2의 URL에서 확장자없이 파일 이름을 검색하려면 :
let urlWithoutFileExtension: URL = originalFileUrl.deletingPathExtension()
let fileNameWithoutExtension: String = urlWithoutFileExtension.lastPathComponent
You can pass the url in fileUrl, like I did below:-
let fileUrl: String = "https://www.himgs.com/imagenes/hello/social/hello-fb-logo.png"
let lastPathComponent = URL.init(string: fileUrl)?.lastPathComponent ?? ""
let fileNameWithExtension = lastPathComponent
//This last path component will provide you file Name with extension.
참고URL : https://stackoverflow.com/questions/31780453/how-to-get-the-filename-from-the-filepath-in-swift
반응형
'developer tip' 카테고리의 다른 글
열에서 구분 된 문자열을 분할하고 새 행으로 삽입 (0) | 2020.09.20 |
---|---|
Android에서 조각 숨기기 표시 (0) | 2020.09.20 |
Chart.js : 곡선 대신 직선 (0) | 2020.09.20 |
Integer.parseInt ()를 캡슐화하는 좋은 방법 (0) | 2020.09.20 |
jquery [duplicate]를 사용하여 텍스트로 드롭 다운 값 설정 (0) | 2020.09.20 |