0

考虑一下我希望文章中出现的每个短语“hello world”都替换为“I love apple”的情况。我应该如何编写代码来进行替换?

我知道我可以简单地使用 Replace 函数进行替换,但这不是最理想的方法(如果我指定替换单词“or”,它也会替换单词“for”等) . 我还有其他方法可以实现我想要的吗?

4

4 回答 4

1

我认为你可以使用正则表达式

using System;
using System.Text.RegularExpressions;
public class Test
{
   public static void Main()
   {
       string input = "doin some replacement";
       string pattern = @"\bhello world'\b";
       string replace = "I love apple";
       string result = Regex.Replace(input, pattern, replace);        
    }
}

以下链接可能会有所帮助

让 String.Replace 只打“整个单词”的方法

于 2013-01-07T13:47:06.223 回答
1

您可以尝试使用 正则表达式和lookbehind:

String urstring = Regex.Replace(urstring,"(?<=\W)or|^or","SS")

这将替换所有前面没有字母或数字的“或”事件。

于 2013-01-07T13:54:15.773 回答
0

使用正则表达式。上面已经介绍过了,请参考以下内容:

  1. 如何替换 C# 中的特定单词?

  2. 用 .net 正则表达式替换字符串中的文本

于 2013-01-07T13:45:26.040 回答
-1

尝试在这里使用正则表达式:

如何替换 C# 中的特定单词?

或在这里:

如何用括号替换 c# 中的特定单词?

于 2013-01-07T13:41:38.703 回答