Javascript 替换文件名中的错误字符
我有一个字符串,比如: “什么|另一件事/另一件事” 但我需要删除文件名中不能包含的所有字符(如|或/),因为我需要使用node保存带有该字符串的文件 这里真正的问题是我无法预测这根弦是怎么来的。我尝试使用在internet上找到的一些正则表达式,但没有成功。文件名或文件系统路径中哪些字符是(或不是)合法字符完全取决于您的操作系统和底层文件系统 假设您知道不允许的字符集,它应该像下面这样简单:Javascript 替换文件名中的错误字符,javascript,node.js,Javascript,Node.js,我有一个字符串,比如: “什么|另一件事/另一件事” 但我需要删除文件名中不能包含的所有字符(如|或/),因为我需要使用node保存带有该字符串的文件 这里真正的问题是我无法预测这根弦是怎么来的。我尝试使用在internet上找到的一些正则表达式,但没有成功。文件名或文件系统路径中哪些字符是(或不是)合法字符完全取决于您的操作系统和底层文件系统 假设您知道不允许的字符集,它应该像下面这样简单: 函数清除文件名{ 返回s.replace(/[此处不允许的字符集]/g',); } 或者,你可以变得
函数清除文件名{
返回s.replace(/[此处不允许的字符集]/g',);
}
或者,你可以变得更为时尚,做一些类似的事情:
函数清除文件名{
返回s.replace(/[此处不允许的字符集]/g,'-')
.替换(/-+/g,“-”);
}
因此,如果您的一组不允许的字符包含下面的标点符号,那么上面的字符将改变这一点
abc!/~dev\|/foo
进入
正如所建议的,您可以使用一些库来创建一个有效的URI,在这种情况下,您可以完成这项工作
祝你玩得愉快。@MuhammadOvi谢谢你的回答,它成功了!另见
abc-dev-foo