更换一部分字符串,同时保持其余部分完好无损?

时间:2011-06-16 10:33:35

标签: c# string replace substring

我正在制作一个asp.net网络应用程序(使用C#),允许用户复制/粘贴他们的写作,然后应用程序搜索英国和美国公约的内容,例如

在英国的汽车引擎盖被称为“引擎盖”而在美国被称为“引擎盖”,所以如果他/她正在寻找基于美国的惯例(用户),该程序将建议用户将帽子从帽子更改为引擎盖。可以使用单选按钮在英国或美国公约之间切换)。约定存储在数据库中。

我的问题是它并不总是“引擎盖”或“引擎盖”有时候作家会使用像“帽子”或“引擎盖”这样的词,所以最后添加's'会彻底改变这个词,我怎么能改变保持其余部分完整的实际单词,例如帽子应该换成引擎盖(保持's'完整而改变实际的单词)?

感谢。

2 个答案:

答案 0 :(得分:0)

试试这个

if(Convention=="UK")
{
  MyString = MyString.Replace("hood","bonnet");
}
else if(Convention=="US")
{
  MyString = MyString.Replace("bonnet","hood");
}

答案 1 :(得分:0)

我认为你想要在刺痛之前/之后或结束/开始时检测带有空格的发动机罩。

然后我建议使用正则表达式。

考虑这个正则表达式:  (?i)^(.+ )?(bonnet)(s?)( .+)?$

(?i)表示不区分大小写,

现在测试这段代码:

string replacedText = Regex.Replace("ssdf bonnets sdf sdf sdf ", @"(?i)^(.+ )?(bonnet)(s?)( .+)?$", "$1hood$3$4");

我希望我帮助