使用javascript修剪字符串路径

时间:2014-08-13 10:11:47

标签: javascript

我有以下字符串:

var fileName = $(this).val();

这会给我一个结果:

C:\ fakepath \ audio_recording_47.wav

我想要的是获取:audio_recording_47.wav 所以,我需要修剪它,但我不知道如何使用javascript 请帮忙

5 个答案:

答案 0 :(得分:3)

filename.split('\\').reverse()[0];

这将通过斜杠拆分路径,以获取每个部分。然后为了保持简单,我将数组反转,所以你需要的最后一部分现在是第一部分;并得到第一部分。

或者,更简单:filename.split('\\').pop(),它将从数组中获取最后一项。

答案 1 :(得分:1)

你可以这样做:

var fileName = $(this).val();
var path = fileName.split('\\');
var lastValue = path[path.length-1];
console.log(lastValue);//audio_recording_47.wav

或者,你可以做的更短的方式:

var fileName = $(this).val();
var path = fileName.split('\\').slice(-1);//audio_recording_47.wav

答案 2 :(得分:1)

您可以编写一个小函数来返回路径的基本名称:

function basename(fn) {
    var x = fn.lastIndexOf("\\");

    if (x >= 0) return fn.substr(x + 1);
    return fn;
}

var filename = basename($(this).val());

答案 3 :(得分:0)

这应该这样做:

var trimmedFileName = fileName.match(/[^\\]*$/);

它匹配的所有内容都不是\,直到字符串结尾。

答案 4 :(得分:0)

您可以使用正则表达式,如下所示:

var fileName = this.value.replace(/(?:[^\\\/]*[\\\/])*/, '');

此外,没有必要使用jQuery片段,因为this.value更快更简单。