正则表达式:从Windows文件名中删除特殊字符

9

来自http://msdn.microsoft.com/en-us/library/windows/desktop/aa365247(v=vs.85).aspx,我们知道Windows保留了一些字符:

< (less than)
> (greater than)
: (colon)
" (double quote)
/ (forward slash)
\ (backslash)
| (vertical bar or pipe)
? (question mark)
* (asterisk)

我有一个文件名包含一些特殊字符,我想用""替换它们,类似这样(string.replace(/\<>/g, '')
谢谢


这是一个具有挑战性的请求,因为Windows有奇怪的文件名规则。请参阅此SO文章:https://dev59.com/K3RA5IYBdhLWcg3w_DLF - jwatts1980
谢谢,我在谷歌上没找到。很抱歉重复提问。 - yongnan
1个回答

8
你可以将所有这些字符放在一个字符集合中:
```html

你可以将所有这些字符放在一个字符集合中:

```
string.replace( /[<>:"\/\\|?*]+/g, '' );

我还会在正则表达式中添加八角井/磅/数字符号#,因为这个字符会使一些编码器无法取消链接文件。 - Aurinxki

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接