2015-08-03 5 views
50

फ़ाइल फ़ाइल स्ट्रिंग से फ़ाइल नाम कैसे प्राप्त करें?फ़ाइलपैथ से फ़ाइल नाम को स्विफ्ट

उदाहरण के लिए अगर मैं के रूप में

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 

एक filepath स्ट्रिंग है और मैं के रूप में

trim.D152E6EA-D19D-4E3F-8110-6EACB2833CE3.MOV 

आपकी मदद के लिए धन्यवाद वापसी परिणाम प्राप्त करना चाहते हैं।

उत्तर

85

उद्देश्य सी

NSString* theFileName = [string lastPathComponent] 

स्विफ्ट

let theFileName = (string as NSString).lastPathComponent 
+0

कैसे तेज में यह करने के लिए? धन्यवाद। – Ralph

+1

क्षमा करें आपको एक्सटेंशन की भी आवश्यकता है ... rite ... अब अपडेट होगा –

+0

धन्यवाद। मुझे यह काम करने के लिए मिला है! – Ralph

3

इस

let filename: String = "your file name" 
let pathExtention = filename.pathExtension 
let pathPrefix = filename.stringByDeletingPathExtension 

आशा है कि यह मदद करता है की कोशिश करो।

19

स्विफ्ट 2:

var file_name = NSURL(fileURLWithPath: path_to_file).lastPathComponent! 
+0

.lastPathComponent इस विधि संकलक है यदि आप 'LastPathComponent' को एक त्वरित' स्ट्रिंग 'पर कॉल करते हैं (जैसा कि' NSString' को कास्टिंग करने के विपरीत) का उपयोग करने के लिए कहता है। –

17

स्विफ्ट 3.x या स्विफ्ट 4: सबसे छोटा और ऐसा करने का स्पष्ट तरीका नीचे है। इस उदाहरण में url चर इस तरह से URL के प्रकार हम My file name.txt और नहीं की तरह विस्तार के साथ पूर्ण फ़ाइल नाम के एक मानव पठनीय String परिणाम हो सकता है की तरह My%20file%20name.txt

// Result like: My file name.txt 
let fileName = url.lastPathComponent 
+1

यह हमेशा संपत्ति देता है। छवियों के लिए जेपीजी। –

+0

स्विफ्ट 2 उत्तर देखें जिसमें स्विफ्ट 3 शामिल है और अधिक सुसंगत है। –

+0

मेरा भी - @ हरशनिगम –

0

आप वर्तमान फ़ाइल नाम इस तरह प्राप्त करना चाहते हैं है लॉगिंग उद्देश्यों के लिए, मैं इसका उपयोग करता हूं।

स्विफ्ट 4

URL(fileURLWithPath: #file).lastPathComponent 
संबंधित मुद्दे