我正在制作一个asp.net网络应用程序(使用C#),允许用户复制/粘贴他们的写作,然后应用程序搜索英国和美国公约的内容,例如
在英国的汽车引擎盖被称为“引擎盖”而在美国被称为“引擎盖”,所以如果他/她正在寻找基于美国的惯例(用户),该程序将建议用户将帽子从帽子更改为引擎盖。可以使用单选按钮在英国或美国公约之间切换)。约定存储在数据库中。
我的问题是它并不总是“引擎盖”或“引擎盖”有时候作家会使用像“帽子”或“引擎盖”这样的词,所以最后添加's'会彻底改变这个词,我怎么能改变保持其余部分完整的实际单词,例如帽子应该换成引擎盖(保持's'完整而改变实际的单词)?
感谢。
答案 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");
我希望我帮助