2012-02-21 4 views
0

변수에 파일 위치가 있으며 마지막으로 /부터 값을 가져와야합니다.문자열에서 마지막 슬래시 앞의 데이터 제거

예를 들어 내 변수 (myfile)의 내용은 /home/tony/files/test.pdf 또는 /tmp/admin.doc입니다. 변수의 끝으로 가서 /에 도달 할 때까지 거꾸로 가서 그 지점부터 값을 가져 가고 싶습니다.

아이디어가 있으십니까?

var index = myfile.lastIndexOf('/'); 
if(index != -1) 
{ 
    var newStr = myfile.substring(index + 1); 
} 

이 일을하는 또 다른 방법은 정규 표현식을 사용하는 것입니다 :

+4

'lastIn dexOf ('/')'는 귀하의 친구입니다 – biziclop

+0

답변으로 의견을 수락하십시오 :) –

답변

5

당신은 String.substring()String.lastIndexOf()를 사용하여이 작업을 수행 할 수

var newStr = myfile.replace(/^.*\/(?=[^\/]*$)/, ''); 
+0

와우는 귀하의 빠른 답장과 답변을 위해 많은 것을 감사드립니다. 당신은 그렇게 쉽게 보이게 만들었습니다 :) – user1223680

0
var location = "/home/time/json.pdf"; 
var parts = location.split('/'); 
var index = parts.length-1; 
alert(parts[index]); 

이 그것을 할 것입니다,하지만 정규식 또는 하위 문자열을 사용하면 훨씬 빨리이 작업을 수행 할 수 있습니다.

0

이렇게 작성하면 디렉토리 경로가없는 파일 이름이 변경되지 않고 반환됩니다. 정규식

myfile.substring(myfile.lastIndexOf('/')+1); 
0

var filePath = '/home/tony/files/test.pdf'; 
 
var fileName = filePath.match(/[^\/]*$/); 
 

 
document.write(fileName);

정규식없이

var filePath = '/home/tony/files/test.pdf'; 
 
var fileName = filePath.split('/').pop(); 
 

 
document.write(fileName);

관련 문제