Regexp:文件名Javascript中的空格

时间:2012-11-29 17:12:09

标签: javascript regex whitespace

我有一个正则表达式,用于查找文件名中的空格,连字符,下划线和%20

/\s+|-+|_+|%20+/gi

如果文件名有任何连字符蚀刻,那么它们将被转换为空格。我并不担心扩展名

  • 此-is_my%20file&安培; shywhich-是-an_image

将更改为

  • 这是我的文件,是一张图片

它工作正常,但我不确定是否使用案例或案例或案例方法是正确的方法。上面也不会匹配软连字符,但我不知道该怎么做。  欢呼声。

3 个答案:

答案 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吗?

编辑:你已经编辑了你的问题,谢谢。你这样做的方式很好,是的。