分享一下,如何将前端需要展示的一串字符中的部分字符进行高亮:
首先,用特殊符号替换需要部分字符:
const strLight = str.replace(
new RegExp('需要高亮的字符串', 'g'),
'<*>' + '需要高亮的字符串' + '<*>'
);
然后,根据特殊符号进行分割:
const strArray = strLight.split('<*>');
最后遍历strArray,将需要高亮的字符串替换样式:
const ar = [];
for (let i = 0; i < strArray.length; i++) {
ar.push(
<span
key={i}
className={strArray[i] === '需要高亮的字符串' ? 'text-red' : 'text-white'}
>
{strArray[i]}
</span>
);
}