[英]How to replace a string with square brackets using javascript replace function?
我有一個字符串[TEST] [NO CHANGE] [TEST] [NOW] [TEST],其中[TEST]應該替換為'replaced',結果應該替換為[NO CHANGE] replaced [NOW] replace。
我嘗試了以下方法,但沒有任何效果。 1. str.replace(/'[TEST]'/ g,'replaced'); 2. str.replace(/ [TEST] / g,'replaced'); 3. str.replace('/ [TEST] / g','replaced');
var str = "[TEST][NO CHANGE][TEST][NOW][TEST]";
var resultStr = str.replace(/'[TEST]'/g, 'replaced');
實際字符串:[TEST] [NO CHANGE] [TEST] [NOW] [TEST]替換后:替換[NO CHANGE]已替換[NOW]已替換
您在replace
正則表達式正在查找用單引號引起來的字符串'[TEST]'
,並希望與TEST中的任何字符匹配,因為您沒有逃脫括號。 嘗試使用以下正則表達式:
var resultStr = str.replace(/\[TEST\]/g, 'replaced');
[]
在正則表達式中有特殊含義,即字符類 ,如果要匹配[]
,則需要對其進行轉義
var str = "[TEST][NO CHANGE][TEST][NOW][TEST]"; var resultStr = str.replace(/\\[TEST\\]/g, 'replaced'); console.log(resultStr)
嘗試使用下方代碼段進行更新。
String.prototype.replaceAll = function(search, replacement) {
var target = this;
return target.split(search).join(replacement);
};
var str = "[TEST][NO CHANGE][TEST][NOW][TEST]";
var result = str.replaceAll('\[TEST\]','replaced')
console.log(result);
替換了[NO CHANGE]替換了[NOW]替換了
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.