使用javascript替换字符串中的所有出现

时间:2015-04-24 01:13:07

标签: javascript

我有这个字符串:

" dsfnsdfksh [AA] lkdfjldfjgljd [AA]"

我需要找到[aa]的所有出现并用另一个字符串替换它,例如:dd

我该怎么做?

3 个答案:

答案 0 :(得分:2)

您可以使用带有g标记的正则表达式。请注意,您必须使用[

转义]\



//somewhere at the top of the script
if (!RegExp.escape) {
  RegExp.escape = function(value) {
    return value.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&")
  };
}



var string = "dsfnsdfksh[aa]lkdfjldfjgljd[aa]";

var pattern = '[aa]';
var regex = new RegExp(RegExp.escape(pattern), 'g');
var text = string.replace(regex, 'dd');
console.log(text)




答案 1 :(得分:0)

您可以使用.replace。这是一个例子:

<强> HTML

<!DOCTYPE Html />
<html>
    <head>
        <title></title>
    </head>
    <body>
        <input type="text" id="theInput" />

        <input type="submit" value="replace" id="btnReplace"/>

        <script type="text/javascript" src="theJS.js"></script>
    </body>
</html>

<强>的JavaScript

var fieldInput = document.getElementById("theInput");
var theButton = document.getElementById("btnReplace");

theButton.onclick = function () {
    var originalValue = fieldInput.value;
    var resultValue = originalValue.replace(/\[aa\]/g, "REPLACEMENT");
    fieldInput.value = resultValue;
}

答案 2 :(得分:0)

有了这个,我可以替换所有的死亡:

var pattern = '[aa]';
var string = "dsfnsdfksh[aa]lkdfjldfjgljd[aa]";

var text = string.replace(new RegExp(pattern.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&'), 'g'), 'dd');

console.log(text);