jQuery - 替换字符串中所有字符的实例

时间:2012-11-26 23:30:34

标签: jquery string replace

这不起作用,我非常需要

$('some+multi+word+string').replace('+', ' ' );
总是得到

some multi+word+string

它总是只替换第一个实例,但我需要它适用于所有+符号。

3 个答案:

答案 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'));
        })
    })
});

这会在每个字符串上替换一次,但它使用更具体的选择器。