假设我有一个字符串:/someFolder/anotherFolder/fileName
我想用 "+"
替换所有正斜杠那么这将起作用:
var someString = '/someFolder/anotherFolder/fileName'
someString.split('/').join('+');
或者使用正则表达式,这会起作用:
var someString = '/someFolder/anotherFolder/fileName'
someString.replace(/\//g, "+");
但是,如果我想用“+”替换第一次出现,然后用另一个字符替换第二次出现,比如“-”,第三个用“*”等等,那么最好的方法是什么?上面的字符串 someString
返回:
+someFolder-anotherFolder*fileName
最佳答案
你可以传递一个函数给replace()
:
let someString = "/someFolder/anotherFolder/file";
const repl = [ '+', '-', '*' ];
let i = 0;
console.log(someString.replace(/\//g, (match) => repl[(i++) % repl.length]));
关于JavaScript split() 使用一个共同的字符,然后 join() 使用不同的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50329947/