如何替换文本中的指定单词时保留原有大小写并添加自定义样式?
实现思路
- 使用正则表达式开启不区分大小写的全局匹配规则匹配
string关键词 - 替换时直接调用匹配到的原始文本包裹
<span>标签,不需要硬编码替换内容,即可保留原有大小写格式 - 若需仅匹配独立完整单词,可额外添加正则单词边界
\b,避免误匹配包含string的长单词(比如strings、stringify)
各语言实现示例
JavaScript
const myString = "String testing string replace"; // 不需要匹配独立单词可去掉正则里的\b const result = myString.replace(/\bstring\b/gi, match => `<span class='myclass'>${match}</span>`); console.log(result); // 输出:<span class='myclass'>String</span> testing <span class='myclass'>string</span> replace
Python
import re my_string = "String testing string replace" # 不需要匹配独立单词可去掉正则里的\b result = re.sub(r"\bstring\b", lambda m: f"<span class='myclass'>{m.group()}</span>", my_string, flags=re.IGNORECASE) print(result)
C#
using System; using System.Text.RegularExpressions; class Program { static void Main() { string myString = "String testing string replace"; // 不需要匹配独立单词可去掉正则里的\b string result = Regex.Replace(myString, @"\bstring\b", m => $"<span class='myclass'>{m.Value}</span>", RegexOptions.IgnoreCase); Console.WriteLine(result); } }
内容的提问来源于stack exchange,提问作者E.D.
相关产品推荐
相关产品推荐

