簡體   English   中英

如何使用javascript替換功能將字符串替換為方括號?

[英]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]替換了

在此處輸入圖片說明

Src: 如何替換JavaScript中所有出現的字符串

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM