您好我需要删除所有出现的| 从一个字符串.这就是我目前正在做的事情
var mystring = "this|is|a|test"
console.log(mystring.replace(/|/g , ","));
Run Code Online (Sandbox Code Playgroud)
这给了我这个结果:,t,h,i,s,|,i,s,|,a,|,t,e,s,t,这不是我想要的.为什么这不起作用?
当我尝试以下内容时,它适用于逗号.
var mystring = "this,is,a,test"
console.log(mystring.replace(/,/g , ":"));
Run Code Online (Sandbox Code Playgroud)
这给了我---->这个:是:a:测试
为什么它不能用于OR,我该如何解决?
Ray*_*yon 10
逃避|角色.
var mystring = "this|is|a|test"
console.log(mystring.replace(/\|/g, ","));Run Code Online (Sandbox Code Playgroud)
这是因为管道字符 ( |) 被解释为正则表达式或。
但是,您可以在方括号之间使用管道字符,例如:[|]
var mystring = "this|is|a|test"
console.log(mystring.replace(/[|]/g , ","));Run Code Online (Sandbox Code Playgroud)
方括号通常用于写入字符序列,但(积极的)副作用是大多数特殊字符在方括号环境中按字面解释,如正则表达式旁边的 regex101 解释所指定:
[|]匹配下面列表中存在的单个字符
|字面字符|