我試圖剝去文件名使用正則表達式和String.replace
如何使用與與string.replace正則表達式
我使用這個正則表達式的文件擴展名:/^.*(\..*)/
應該抓住擴展,或至少一切後.
做str.replace(/^.*(\..*)/,"");
只是給了我一個空白的字符串。
做str.replace(/^.*(\..*)/,"");
給我".pdf"
小提琴:http://jsfiddle.net/KAK82/
我試圖剝去文件名使用正則表達式和String.replace
如何使用與與string.replace正則表達式
我使用這個正則表達式的文件擴展名:/^.*(\..*)/
應該抓住擴展,或至少一切後.
做str.replace(/^.*(\..*)/,"");
只是給了我一個空白的字符串。
做str.replace(/^.*(\..*)/,"");
給我".pdf"
小提琴:http://jsfiddle.net/KAK82/
這裏有兩個選項:
只有符合擴展,並與一個空字符串替換:
str.replace(/\.[^.]*$/, "");
匹配整個字符串,捕捉一切,但擴展,然後與匹配的內容替換:
str.replace(/^(.*)\..*$/, "$1");
您需要捕捉(與(.*)
),你的第一個比特文件,而不是擴展本身:
var string = "CommercialTribe - Copy (14).pdf"
var re = /^(.*)\..*/;
console.log(string.replace(re,'$1'));
// Output: "CommercialTribe - Copy (14)"
您的文件名有多少個點?你可以通過點分開他們並採取第一部分? – putvande
[正則表達式刪除文件的擴展名]可能的重複(http://stackoverflow.com/questions/1818310/regular-expression-to-remove-a-files-extension) – Ryan
@Ryan該問題的答案不使用與string.replace。我想知道如何在正則表達式中使用'string.replace'。剝離文件名是一個可以通過許多不同方式解決的問題。 – Houseman