Javascript 第一次出现后替换所有x
给定以下字符串:Javascript 第一次出现后替换所有x,javascript,regex,Javascript,Regex,给定以下字符串:/repos/facebook/react/native。 我需要删除/repos/,然后第一个斜杠后面的所有斜杠都需要是破折号 因此,对于上面的示例,结果是:faceboook/react native 其他例子: 开始:/repos/google/angular/cli 结束:google/angular cli 开始:/repos/aksonov/react/native/router/flux 结束:aksonov/react本机路由器流量 我从.replace(“/re
/repos/facebook/react/native
。
我需要删除/repos/,然后第一个斜杠后面的所有斜杠都需要是破折号
因此,对于上面的示例,结果是:faceboook/react native
其他例子:
开始:/repos/google/angular/cli
结束:google/angular cli
开始:/repos/aksonov/react/native/router/flux
结束:aksonov/react本机路由器流量
我从.replace(“/repos/”,“)
开始,然后开始做一个hacky拆分(通过/
)[0]+map。但是我想知道是否有一种更简单的方法可以用正则表达式来实现它?我想我必须删除/repos/,所以问题是如何在第一个斜杠之后替换所有斜杠
任何想法都值得赞赏,
谢谢保持简单,您可以做到:
function repl(str) {
return str.replace('/repos/', '').replace(/\//g, '-').replace('-', '/')
}
然后称之为:
repl('/repos/google/angular/cli')
//=> "google/angular-cli"
repl('/repos/aksonov/react/native/router/flux')
//=> "aksonov/react-native-router-flux"
它通过3个步骤完成工作:
/repos/
/
替换为-
-
替换为/
保持简单,您可以执行以下操作:
function repl(str) {
return str.replace('/repos/', '').replace(/\//g, '-').replace('-', '/')
}
然后称之为:
repl('/repos/google/angular/cli')
//=> "google/angular-cli"
repl('/repos/aksonov/react/native/router/flux')
//=> "aksonov/react-native-router-flux"
它通过3个步骤完成工作:
/repos/
/
替换为-
-
替换为/
我不是javascript向导,但是这个简单的方法呢:
s = "/repos/aksonov/react/native/router/flux";
s = s.replace('/repos/', '');
bits = s.split('/');
final = bits[0]+'/'+bits.slice(1).join('-');
我不是javascript向导,但是这个简单的方法呢:
s = "/repos/aksonov/react/native/router/flux";
s = s.replace('/repos/', '');
bits = s.split('/');
final = bits[0]+'/'+bits.slice(1).join('-');
它起作用了
它在工作这个怎么样:
const data=['/repos/aksonov/react/native/router/flux','/repos/google/angular/cli','/repos/facebook/react/native']
const reducePath=path=>path.replace(//.*?\//,'').replace(//\//g,'-').replace(//-/,'/'))
for(让数据的路径){
log(`${path}->${reducePath(path)}`)
}
这个怎么样:
const data=['/repos/aksonov/react/native/router/flux','/repos/google/angular/cli','/repos/facebook/react/native']
const reducePath=path=>path.replace(//.*?\//,'').replace(//\//g,'-').replace(//-/,'/'))
for(让数据的路径){
log(`${path}->${reducePath(path)}`)
}