这不起作用,我非常需要
$('some+multi+word+string').replace('+', ' ' );
总是得到
some multi+word+string
它总是只替换第一个实例,但我需要它适用于所有+符号。
答案 0 :(得分:367)
您需要使用正则表达式,以便指定global(g)标志:
var s = 'some+multi+word+string'.replace(/\+/g, ' ');
(我删除了字符串周围的$()
,因为replace
不是jQuery方法,因此根本不起作用。)
答案 1 :(得分:35)
'some+multi+word+string'.replace(/\+/g, ' ');
^^^^^^
'g'=“全球”
干杯
答案 2 :(得分:6)
在大多数情况下,RegEx是最佳选择。
在某些情况下,指定更多元素或执行替换的特定元素可能更快:
$(document).ready(function () {
$('.myclass').each(function () {
$('img').each(function () {
$(this).attr('src', $(this).attr('src').replace('_s.jpg', '_n.jpg'));
})
})
});
这会在每个字符串上替换一次,但它使用更具体的选择器。