【发布时间】:2010-01-20 05:39:04
【问题描述】:
当我尝试以下操作时,它不起作用:str.replace("| stuff", "")
但是,如果我移除 PIPE,它会这样做吗? str.replace("stuff", "")
为什么JS函数不允许PIPE | ?我该怎么做才能进行包含管道的替换?
【问题讨论】:
-
什么是str,你的结果是什么,你想要达到什么目的?
标签: javascript
当我尝试以下操作时,它不起作用:str.replace("| stuff", "")
但是,如果我移除 PIPE,它会这样做吗? str.replace("stuff", "")
为什么JS函数不允许PIPE | ?我该怎么做才能进行包含管道的替换?
【问题讨论】:
标签: javascript
因为.replace 接受正则表达式,而| 是正则表达式中的特殊字符。你需要逃避它。
例如,使用str.replace(/\|/g, "") 删除每个| 字符。
【讨论】:
不,它应该可以工作,除非您使用 /| stuff/ 或 RegExp("| stuff") 而不是 "| stuff"
"xyz| stuff".replace("| stuff", ""); //returns xyz
【讨论】:
不是吗
"xyz| stuff".replace("\| stuff", ""); //returns xyz
【讨论】:
str.replace("| stuff", "") 应该可以工作,但只会替换第一次出现。如果要替换所有这些,请尝试使用 str.replace(/\|\sstuff/g, "") 之类的正则表达式
【讨论】:
str.replace(/\| stuff/g, ""),但\s 使它适用于任何空白字符