尝试获取文件名并让它返回一个字符串。
试着转身:
板-71-冬季鹰final.jpg
成:
冬天鹰决赛其中盘子也可能是大写的。这是我到目前为止,似乎没有工作
var theRegEx = new RegExp('[Plate|plate]-\d+-(.*).jpg');
var theString = "plate-71-winter-hawk-final.jpg"
var newString = theString.replace(theRegEx, theString);
newString;
答案 0 :(得分:2)
不幸的是,"规则#1" 并没有提供更好的方法:
var newString = theString.replace(/^[Pp]late-\d+-(.*)\.jpg$/, '$1')
.replace(/-/g, ' ');
当您使用带有对象语法的字符串来转义后退时要小心:
var theRegEx = new RegExp('^[Pp]late-\\d+-(.*)\\.jpg$');
请注意,字符类只是一组字符,您不能使用它来将子字符串和特殊的正则表达式字符放在其中。 [Plate|plate]
与[Pplate|]
你也可以这样写(没有字符串):
var theRegEx = new RegExp(/^[Pp]late-\d+-(.*)\.jpg$/);
答案 1 :(得分:0)
尝试以下脚本。只要符合标准模式,它就不依赖于字符串的长度:
var data = "plate-71-winter-hawk-final.jpg";
var rx = /(?:plate\-\d+\-)(.*)(?=\.)/i;
var match = rx.exec(data);
if(match != null){
data = match[1];
data = data.replace(/\-/g, ' ');
}
console.log(data);
它将打印:
冬天鹰决赛