繁体   English   中英

正则表达式从没有扩展名的文件名中查找空格和括号

[英]Regular Expresion find space and bracket from fileName without extension

我正在使用 javascript 这是我的字符串

let filename1 = "excluder version(1).pdf"

注意:扩展名将是动态的,例如 jpg 或 png

我想用结果替换字符串如果使用正则表达式怎么办?

结果或预期:

filename = "excluder-version-1.pdf"

您可以使用正则表达式[^a-z0-9]+ ,它将用空格替换数字和小字母以外的所有元素。 您也可以使用 substring 获取扩展名,然后将其添加到最终结果中。

 let filename1 = "excluder version(1).pdf" var extension = filename1.substring(filename1.indexOf('.')+1) var filename = filename1.substring(0,filename1.indexOf('.')) filename=filename.replace(/[^a-z0-9]+/g," ").trim().split(" ").join("-")+"."+extension; console.log(filename)

你可以试试!

 let filename1 = "excluder version(1).pdf" let re = /(\w+)\s(\w+)\((\d+)\)\.(pdf|jpg|png)/; const matches = filename1.match(re).slice(1); const newstr = matches.reduce((acc, curr, index) => { if (index === matches.length - 1) { return acc + '.' + curr; } return acc + '-' + curr; }); console.log(newstr);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM