我有2个变量:
const type = "Hell";
const name = "Hello World!";
我想在<strong>
的值之后添加一个type
标记。
所以它看起来应该像这样:地狱 o世界!
我该怎么做?
答案 0 :(得分:2)
所以我认为您正在寻找这样的东西:
const type = "Hell";
const name = "Hello, World!";
var rex = new RegExp(type);
name.replace(rex, type+"<strong>")+"</strong>";
这将导致以下结果-> "Hell<strong>o, World!</strong>"
这样会出现->“ Hell o,世界!”
答案 1 :(得分:2)
您可以首先获取字符串的其余部分。然后replace()
该字符串部分以形成新字符串作为主字符串的一部分:
const type = "Hell";
let name = "Hello World!";
let remaining = name.replace(type,'');
name = name.replace(remaining, '<strong>' +remaining+ '</strong>');
document.write(name);
对于不区分大小写的情况,您必须使用带有不敏感标志(new RegExp()
)的i
:
const type = "hell";
let name = "Hello World!";
var regEx = new RegExp(type, "i"); // pass the flag here
let remaining = name.replace(regEx, '');
name = name.replace(remaining, '<strong>' +remaining+ '</strong>');
document.write(name);
答案 2 :(得分:1)
您可以通过使用正则表达式(type)(.+)
来代替第一个捕获的组(type)
本身($1
)和第二个捕获的组(.+)
本身来实现此目的<strong>
标记(<strong>$2</strong>
):
const type = "Hell";
const name = "Hello World!";
const regex = new RegExp("(" + type + ")(.+)", "i");
const result = name.replace(regex, "$1<strong>$2</strong>");
console.log(result);
<div id="result"></div>
传递给"i"
的{{1}}是忽略大小写修饰符。
注意:如果您还希望包含空字符串(例如RegExp
和type = "Hell"
,并且结果为name = "Hell"
而不是{{1} }),然后将"Hell<strong></strong>"
替换为"Hell"
。