我有以下字符串:
var fileName = $(this).val();
这会给我一个结果:
C:\ fakepath \ audio_recording_47.wav
我想要的是获取:audio_recording_47.wav 所以,我需要修剪它,但我不知道如何使用javascript 请帮忙
答案 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
更快更简单。