我有一个正则表达式,可以在文件名中查找空格、连字符、下划线和 %20
/\s+|-+|_+|%20+/gi
如果文件名有任何连字符 etch 那么它们将被转换为空格。我不担心延期
- this-is_my%20filewhich-is-an_image
将改为
- 这是我的文件,它是一个图像
它工作正常,但我不确定使用 case OR case OR case 方法是否是正确的方法。此外,上述内容与软连字符不匹配,但我不知道该怎么做。干杯。
我有一个正则表达式,可以在文件名中查找空格、连字符、下划线和 %20
/\s+|-+|_+|%20+/gi
如果文件名有任何连字符 etch 那么它们将被转换为空格。我不担心延期
将改为
它工作正常,但我不确定使用 case OR case OR case 方法是否是正确的方法。此外,上述内容与软连字符不匹配,但我不知道该怎么做。干杯。
这在一定程度上取决于您的用例。
如果您想用一个破折号替换所有空格。就这样"abc_-def"
变成了"abc-def"
。在这种情况下,您当前的正则表达式将"abc--def"
改为给出。
要修改它,您可以移动+
,如下所示:
"abc-_def".replace(/([\s\-_]|%20)+/gi, "-"); // "abc-def"
您可以使用较短的版本,如下所示:
/(\s|-|_|%20)+/gi
我们在这里需要一些上下文。如果您只想查看文件名是否包含其中之一,请使用以下命令:
/\s|\-|%20/
如果文件名包含其中任何一个,则返回 true,否则返回 false。
如果您想要更多,您需要告诉我们您需要它的用途。你想用别的东西代替它们吗?如果它们都存在,你想返回 true 吗?
编辑:您已经编辑了您的问题,谢谢。你这样做的方式很好,是的。