在变量中添加强标签

时间:2018-09-04 16:55:41

标签: javascript

我有2个变量:

const type = "Hell";
const name = "Hello World!";

我想在<strong>的值之后添加一个type标记。

所以它看起来应该像这样:地狱 o世界!

我该怎么做?

3 个答案:

答案 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}}是忽略大小写修饰符。

注意:如果您还希望包含空字符串(例如RegExptype = "Hell",并且结果为name = "Hell"而不是{{1} }),然后将"Hell<strong></strong>"替换为"Hell"