我有一个正则表达式,用于查找文件名中的空格,连字符,下划线和%20
/\s+|-+|_+|%20+/gi
如果文件名有任何连字符蚀刻,那么它们将被转换为空格。我并不担心扩展名
将更改为
它工作正常,但我不确定是否使用案例或案例或案例方法是正确的方法。上面也不会匹配软连字符,但我不知道该怎么做。 欢呼声。
答案 0 :(得分:3)
这取决于你的用例。
如果您想用一个破折号替换所有空格。因此"abc_-def"
变为"abc-def"
。在这种情况下,您当前的正则表达式将改为"abc--def"
。
要对此进行修改,您可以移动+
,如下所示:
"abc-_def".replace(/([\s\-_]|%20)+/gi, "-"); // "abc-def"
答案 1 :(得分:2)
您可以使用更短的版本:
/(\s|-|_|%20)+/gi
答案 2 :(得分:1)
我们在这里需要一些背景知识。如果您只想查看文件名是否包含其中一个,请使用:
/\s|\-|%20/
如果文件名中包含任何文件名,则返回true;否则返回false。
如果你想要更多的东西,你需要告诉我们你需要什么。你想用别的东西替换它们吗?如果所有这些都存在,你想要返回true吗?
编辑:你已经编辑了你的问题,谢谢。你这样做的方式很好,是的。