Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在字符串中的某些单词周围加上标记_C#_String - Fatal编程技术网

C# 在字符串中的某些单词周围加上标记

C# 在字符串中的某些单词周围加上标记,c#,string,C#,String,我有一些字符串中的文本。我想在字符串中找到两个特定的单词,并用标记将这些单词包装起来。 我试过类似的方法,但不起作用: for (int i = 0; i < bold.Split(' ').Count(); i++) { if (myString.Split(' ')[i].Contains("MyWord")) myString.Split(' ')[i] = "<b" + myString.Split(' ')[i] + "</b"; } f

我有一些字符串中的文本。我想在字符串中找到两个特定的单词,并用
标记将这些单词包装起来。
我试过类似的方法,但不起作用:

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

使用正则表达式替换子字符串的所有实例


Regex.Replace(myString,@“MyWord”,“MyWord”;

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


Regex.Replace(myString,@“MyWord”,“MyWord”;

第二种方法在
MyWord
是较长单词-a的一部分时中断。使用Regex可以避免:

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

\b
标记确保
MyWord
不能是较长单词的一部分。

MyWord
是较长单词-a的一部分时,第二种方法会中断。使用regex可以避免:

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

\b
标记确保
MyWord
不能是较长单词的一部分。

在第一种情况下,赋值是在通过拆分获得的新数组上完成的。您应该将其保存在初始变量中,然后再进行赋值。但这是一个糟糕的近似tbh。第二个更好,应该可以工作。您是如何测试它的?什么问题到底是什么?第二个例子行得通,你能给我们看一个你正在搜索的字符串的具体例子吗?我看第二个例子没有任何错误。你得到的结果是什么,你期望的结果是什么?顺便说一下,你不需要
如果
,如果你使用
替换
,它只会在n导入并复制搜索。您可以使用正则表达式。请参阅我的答案。您可以使用replace with给定单词作为输入,并使用replace,它应该可以在没有任何循环或任何东西的情况下工作。在第一种情况下,赋值是在通过拆分获得的新数组上完成的。您应该将其保存在初始变量中,然后执行赋值。但这是一个糟糕的apro每个tbh。第二个更好,它应该可以工作。你是如何测试它的?问题到底是什么?第二个例子有效,你能给我们一个你正在搜索的字符串的具体例子吗?我看第二个例子没有任何错误。你得到的结果是什么,你期望的结果是什么?顺便说一句,你不需要如果使用
if
,如果使用
Replace
,它将仅在包含并复制搜索的情况下进行替换。您可以使用正则表达式。查看我的答案您可以使用Replace with给定的单词作为输入并进行替换,它应该可以不使用任何循环或任何东西。如果单词后是句子如果单词是句子的最后一个单词,那么单词后的
MyWord.
a
dot