2012-08-04 36 views
14

¿Cómo obtener el nombre de archivo de string-path en javascript?Obtener el nombre de archivo de la ruta de cadena en javascript?

Aquí está mi código

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

hacer algo aquí para obtener sólo el nombre del archivo

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

posible duplicado de [Cómo obtener el nombre de archivo de una ruta completa usando JavaScript? ] (http://stackoverflow.com/questions/423376/how-to-get-the-file-name-from-a-full-path-using-javascript) –

Respuesta

77

Prueba esto:

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

Es bueno ver una respuesta simple, no regeo. – AlexMA

+2

El parámetro '-1' no es obligatorio (y se ignora de hecho). https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Array/pop – AKX

+0

oh sí, tienes razón. – levi

6

no sé por qué te gustaría para nosotros una expresión regular para hacer esto. Sin duda, el siguiente sería suficiente:

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

Uno podría usar una expresión regular, pero estoy de acuerdo con usted. Aunque una expresión regular podría ser útil para analizar los malos caminos. – AlexMA

+0

Esta debería ser la respuesta, mucho más flexible. –

-1

una solución de expresiones regulares pura: \/([^\\\/:*?\"<>|]+)$
obtendrá el nombre del archivo del grupo 1

Cuestiones relacionadas