拆分字符串并移除片段js



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

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

this将警告: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

谢谢!

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

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]属性中捕获的。

最新更新