在字符串中的某些单词周围换行标记

时间:2016-10-09 10:21:27

标签: c# string

我在字符串中有一些文字。我想在字符串中找到两个特定的单词,并用<b>标签包装这些单词 我尝试过类似的东西,但它不起作用:

for (int i = 0; i < bold.Split(' ').Count(); i++)
{
     if (myString.Split(' ')[i].Contains("MyWord"))
         myString.Split(' ')[i] = "<b" + myString.Split(' ')[i] + "</b";
}

这两点都没有:

if (myString.Contains("MyWord"))
   myString = myString.Replace("MyWord", "< b >MyWord< /b >");

2 个答案:

答案 0 :(得分:2)

MyWord是较长单词的一部分时,第二种方法会中断 - clbuttic problem。您可以使用正则表达式来避免它:

myString = Regex.Replace(myString, @"\bMyWord\b", "<b>MyWord</b>");

\b标记可确保MyWord不得成为较长字词的一部分。

答案 1 :(得分:1)

使用Regex替换子字符串的所有实例。

Regex.Replace(myString, @"MyWord", "< b >MyWord< /b >");