変数にファイルの場所があり、最後に/
の値を取得するだけです。文字列内の最後のスラッシュの前のデータを削除する
例えば、my変数(myfile
)の内容は/home/tony/files/test.pdf
または/tmp/admin.doc
のようになります。変数の最後に移動し、/
に到達するまで後方に移動し、その時点から値を取得したいだけです。
アイデア?
変数にファイルの場所があり、最後に/
の値を取得するだけです。文字列内の最後のスラッシュの前のデータを削除する
例えば、my変数(myfile
)の内容は/home/tony/files/test.pdf
または/tmp/admin.doc
のようになります。変数の最後に移動し、/
に到達するまで後方に移動し、その時点から値を取得したいだけです。
アイデア?
あなたはString.substring()
とString.lastIndexOf()
を使ってこれを実現することができます
var index = myfile.lastIndexOf('/');
if(index != -1)
{
var newStr = myfile.substring(index + 1);
}
これを行うための別の方法は、正規表現を使用することです:これはそれを行うだろう
var newStr = myfile.replace(/^.*\/(?=[^\/]*$)/, '');
すごくお返事ありがとうございました。あなたはそれをとても簡単に見せました:) – user1223680
var location = "/home/time/json.pdf";
var parts = location.split('/');
var index = parts.length-1;
alert(parts[index]);
を、しかし、正規表現で私はあなたがこれをもっと速く行うことができると思います。
このように書くと、ディレクトリパスのないファイル名は変更されずに返されます。正規表現と
myfile.substring(myfile.lastIndexOf('/')+1);
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);
'LASTIN dexOf( '/') 'はあなたの友だちです – biziclop
答えとしてコメントを受け入れてください:) –