[英]replace all occurrences in string using javascript
我有这个字符串:
“ dsfnsdfksh [aa] lkdfjldfjgljd [aa]”
我需要找到[aa]的所有出现次数,并用另一个字符串替换它,例如:dd
我怎样才能做到这一点?
您可以将正则表达式与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)
您可以为此使用.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;
}
这样,我可以替换所有出现的情况:
var pattern = '[aa]';
var string = "dsfnsdfksh[aa]lkdfjldfjgljd[aa]";
var text = string.replace(new RegExp(pattern.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&'), 'g'), 'dd');
console.log(text);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.