如何在 JavaScript 中替换字符串中“+”的多个实例
How do you replace multiple instances of '+' in a string in JavaScript?
我有一个需要操作的URL。我似乎无法用空格替换查询字符串中的所有"+"。
var url = window.location.replace(/+/g, ' ');
我在这里做错了什么?
还是有更好的方法?
replace()
是window.location
上的一种方法,但它不是你想的那样。您希望在location.href
上呼叫replace()
。
var url = window.location.href.replace(/'+/g, ' ');
正如 Vega 回答的那样,请注意,您还需要转义+
,因为它作为量词的特殊含义。
你需要
转义+
。 +
在正则表达式中具有特殊含义。
var url = window.location.href.replace(/'+/g, ' ');
编辑:更改为.href
如果您不需要运行数千次,则还有另一种选择。
var url = window.location.href.split('+').join(' ');
我提到它运行频率的原因是,根据这里的测试,这将比 Firefox 中的正则表达式慢一点,在 chrome 中慢一点,在 Opera 中更快:http://jsperf.com/regex-vs-split-join
因此,对于简单的 URL 更改,使用该语法应该没问题。
相关文章:
- 删除数组Javascript中字符串的所有实例
- 如何通过JS在不干扰其标记的情况下更改HTML文档中字符串的所有实例
- 是否有将基于字符串的JSON转换为Mongoose Schema对象实例的本地功能
- JavaScript:计算字符串中特定整数的实例
- 从 Node.js 模块中的缓冲区实例中逐行读取字符串
- 正则表达式来更改字符串中的所有实例
- javascript正则表达式,将多个实例替换为多行字符串中的单个实例
- 如何更改字符串/符号的所有实例的样式
- 替换字符串中YouTube/Vimeo iframe的所有实例
- 字符串是对象 String() 的实例吗?
- 我们如何在 javascript 对象中使用字符串名称存储创建 Backbone 视图的实例
- 如何匹配并返回一个字符串的多个实例,其中单个撇号可以包含在任何索引中
- Jquery:在一个字符串中查找所有实例模式,提示用户替换模式的所有实例,然后进行替换
- Ember.js:使用模型实例的路由获取模型实例的 url 字符串
- 如何在 JavaScript 中替换字符串中“+”的多个实例
- 查找字符串中单词所有实例的位置,在控制台中得到不需要的重复
- 正则表达式 Express 将反斜杠 的每个实例替换为字符串中的 u
- 按第三个实例拆分字符串
- 使用其他javascript删除字符串中某个字符的所有实例
- 删除多余的;#字符串中的实例