C#多字替换问题

时间:2013-01-07 13:36:42

标签: c# string replace

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

我知道我可以简单地使用替换功能进行替换,但这不是最理想的方法(如果我指定替换单词“或”,它也会替换单词“for” “等)。我还能采取其他方式来实现我的目标吗?

4 个答案:

答案 0 :(得分: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);        
    }
}

以下链接可能会有所帮助

Way to have String.Replace only hit "whole words"

答案 1 :(得分:1)

您可以尝试使用Regular Expressions与lookbehind:

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

这将替换所有不以字母或数字开头的“或”事件。

答案 2 :(得分:0)

使用正则表达式。这已经涵盖,请参考以下内容:

  1. How can I replace a specific word in C#?

  2. replace text in a string with .net regexp

答案 3 :(得分:-1)