2012-08-04 17 views
14

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

यहाँ मेरी कोड है

var nameString = "/app/base/controllers/filename.js"; //this is the input path string 

केवल फ़ाइल नाम पाने के लिए यहां कुछ करना

var name = ??? //this value should equal to filename.js 
+0

संभव डुप्लिकेट [कैसे एक पूर्ण पथ जावास्क्रिप्ट का उपयोग करने से फ़ाइल नाम पाने के लिए? ] (http://stackoverflow.com/questions/423376/how-to-get-the-file-name-from-a-full-path-using-javascript) –

उत्तर

77

इस प्रयास करें:

var nameString = "/app/base/controllers/filename.js"; 
    var filename = nameString.split("/").pop(); 
+5

एक साधारण, nonregex उत्तर देखने के लिए अच्छा लगा। – AlexMA

+2

'-1' पैरामीटर की आवश्यकता नहीं है (और वास्तव में अनदेखा किया जाता है)। https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Array/pop – AKX

+0

ओह हाँ, आप सही हैं। – levi

6

मैं नहीं जानता कि आप क्यों चाहते हैं यह करने के लिए हमें एक regex करने के लिए। निश्चित रूप से निम्नलिखित पर्याप्त होगा:

var nameString = "/app/base/controllers/filename.js"; 
var nameArray = nameString.split('/'); 
var name = nameArray[nameArray.length - 1]; 
+0

का उपयोग करने की आवश्यकता है, कोई भी अनुमानतः एक रेगेक्स का उपयोग कर सकता है, लेकिन मैं आपके साथ सहमत हूं। हालांकि खराब पथों को दूर करने के लिए एक रेगेक्स उपयोगी हो सकता है। – AlexMA

+0

यह वास्तव में उत्तर होना चाहिए, अधिक लचीला। –

-1

एक शुद्ध regex समाधान: \/([^\\\/:*?\"<>|]+)$
समूह 1 से फ़ाइल नाम मिल जाएगा

की
संबंधित मुद्दे