如果我有这个字符串:
This string should @[1234] by another word
我想替换以删除@ []并将'1234替换为'test'字,例如结果是:
This string should test by another word
有没有办法用js做到这一点?
答案 0 :(得分:1)
您可以使用正则表达式通过以下代码测试来重新生成@ [XXX]:
var string = "This string should @[1234] by another word";
console.log(string.replace(/@\[[0-9]+\]/gi, "test"));
答案 1 :(得分:0)
你有一个字符串:
This string should @[1234] by another word
您想要将@[1234]
替换为test
Javascript有一个名为replace()
的方法,它有两个参数,你要替换的模式,以及你要用它替换它的内容。
代码在这里:
console.log("This string should @[1234] by another word".replace("@[1234]", "test"))

答案 2 :(得分:0)
我建议首先定义从id到替换的映射。
然后,您使用string.replace(regex, callback)
与匹配@[1234]
的正则表达式或括号内的任何其他ID,并捕获捕获组中的ID。
最后,您提供一个回调函数,它接收捕获组的值作为第二个参数,并根据您的映射执行替换:
const input = 'This string should @[1234] by another word';
const replacements = {'1234': 'test'};
const output = input.replace(/@\[(\d+)\]/g, (match, id) => replacements[id]);
console.log(output);

答案 3 :(得分:0)
我猜你有多个要替换的文字?如果是这样,您可以将String.replace函数与回调一起使用,该回调提供替换值。像这样:
var repls = {
"1234": "test"
};
var text = "This string should @[1234] by another word";
var result = text.replace(/@\[([0-9]+)\]/g, function(entireMatch, key) {
return repls[key];
});
console.log(result);

答案 4 :(得分:0)
以下是一些不使用正则表达式的代码,只有split()
和join()
,以及字符串作为分隔符。
str='This string should @[1234] by another word';
console.log(str.split('@[1234]').join('test'));