拆分字符串并删除段js

时间:2013-06-17 07:53:27

标签: javascript jquery replace

如何分割这些字符串以便我得到以下结果?我希望能够做到这样的事情:

 alert(img/small/Closed-Main-Fabric-Collar_2018.png.replace(/\-/g, ' '));

这会警告:Closed-Main-Fabric-Collar 但即使刺痛有额外/中/我也需要它才能工作 我很确定我需要两个替换功能,一个是获得“Closed-Main-Fabric-Collar”,一个是获得“2018”

 1. img/small/Closed-Main-Fabric-Collar_2018.png
 2. img/small/Base-Shirt_2016.jpg
 3. img/small/mid/Outside-Pocket-Left_2019.png
 4. img/small/large/Outside-Pocket-Left_2019.png


 1. Closed-Main-Fabric-Collar
    2018

 2. Base-Shirt
    2016

 3. Outside-Pocket-Left
    2019

 4. Outside-Pocket-Left
    2019

谢谢!

1 个答案:

答案 0 :(得分:1)

您可以使用正则表达式提取您正在寻找的两个子字符串:

var str = "img/small/Closed-Main-Fabric-Collar_2018.png";
var match = /\/([A-Za-z\-]+)_(\d+)\.$/.exec(str);
if (match) {
    // match[1] has "Closed-Main-Fabric-Collar"
    // match[2] has "2018"
}

正则表达式如下所示:

  • \/匹配文字/
  • (...)捕获与这些括号内的表达式匹配的文本。
  • [A-Za-z\-]+匹配一个或多个字符A - Za - z-
  • _匹配文字_
  • \d+匹配一个或多个数字
  • \.匹配文字.

由于有两个捕获组,因此它们会在生成的匹配对象的[1][2]属性中捕获。