2012-02-21 14 views
0

変数にファイルの場所があり、最後に/の値を取得するだけです。文字列内の最後のスラッシュの前のデータを削除する

例えば、my変数(myfile)の内容は/home/tony/files/test.pdfまたは/tmp/admin.docのようになります。変数の最後に移動し、/に到達するまで後方に移動し、その時点から値を取得したいだけです。

アイデア?

+4

'LASTIN dexOf( '/') 'はあなたの友だちです – biziclop

+0

答えとしてコメントを受け入れてください:) –

答えて

5

あなたはString.substring()String.lastIndexOf()を使ってこれを実現することができます

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

これを行うための別の方法は、正規表現を使用することです:これはそれを行うだろう

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);

関連する問題