我如何分割这些字符串,以便我得到下面的结果?我希望能够做这样的事情:
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
-Z
、a
-z
和-
中的一个或多个字符。 -
_
匹配文字_
-
d+
匹配一个或多个数字 -
.
匹配文字.
由于有两个捕获组,它们是在结果匹配对象的[1]
和[2]
属性中捕获的。