我正在尝试使用正则表达式从文件名中删除文件扩展名并String.replace
我正在使用此正则表达式:/^.*(\..*)/
应该捕获扩展名,或至少在.
之后的所有内容
执行str.replace(/^.*(\..*)/,"");
只是给我一个空白字符串。
执行str.replace(/^.*(\..*)/,"");
会给我".pdf"
答案 0 :(得分:1)
您需要捕获(使用(.*)
)文件的第一位,而不是扩展本身:
var string = "CommercialTribe - Copy (14).pdf"
var re = /^(.*)\..*/;
console.log(string.replace(re,'$1'));
// Output: "CommercialTribe - Copy (14)"
答案 1 :(得分:1)
这里有两个选项:
仅匹配扩展名并将其替换为空字符串:
str.replace(/\.[^.]*$/, "");
匹配整个字符串并捕获除扩展名之外的所有内容,然后替换为该匹配项的内容:
str.replace(/^(.*)\..*$/, "$1");