簡體   English   中英

如何將string.replace與正則表達式一起使用

[英]How do I use string.replace with regular expressions

我正在嘗試使用正則表達式和String.replace從文件名中刪除文件擴展名

我正在使用這個正則表達式: /^.*(\\..*)/應該捕獲擴展名,或者至少是一切后的所有內容.

str.replace(/^.*(\\..*)/,""); 只給我一個空白的字符串。

str.replace(/^.*(\\..*)/,""); 給了我".pdf"

小提琴: http//jsfiddle.net/KAK82/

你需要捕獲(帶(.*) )你文件的第一位,而不是擴展本身:

var string = "CommercialTribe - Copy (14).pdf"
var re = /^(.*)\..*/;
console.log(string.replace(re,'$1'));

// Output: "CommercialTribe - Copy (14)"

小提琴

這里有兩個選項:

  • 僅匹配擴展名並將其替換為空字符串:

     str.replace(/\\.[^.]*$/, ""); 
  • 匹配整個字符串並捕獲除擴展名之外的所有內容,然后替換為該匹配項的內容:

     str.replace(/^(.*)\\..*$/, "$1"); 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM