【问题标题】:C# text.Replace preserve caseC# text.Replace 保留大小写
【发布时间】:2010-12-20 20:08:16
【问题描述】:

我正在为我的社区 wiki 开发一个使用 DotNetWikiBot 框架的 wiki 机器人;它是找到一个通常是拼写错误的单词(例如“abilty”)并将其替换为更正(例如“ability”)。

按原样工作:

p.text = p.text.Replace(@"\b" + typoArray[x, 0] + @"\b", typoArray[x, 1]);

但是,这会将“能力”替换为“能力”,这当然会导致问题,但我无法弄清楚如何保留被替换单词的大小写(因此能力成为能力),除非错字替换是为了大写,无论替换什么:从一月到一月

【问题讨论】:

  • 如何添加字符? “aBiLtY”应该替换为“aBiLitY”还是“aBiLItY”?
  • 不,aBiLitY 应该替换为能力,ABiLitY 应该替换为能力。
  • 这是简单的字典单词,所以“不应该”有大写字母,除非在句子或名词的开头。
  • 哦,我也刚刚意识到 DotNetWikiBot 框架带有 Capitalize 和 Uncapitalize 方法,所以我只需要知道我要替换的单词是否大写。
  • @Josh:你的回答没有意义,再检查一下我的问题...

标签: c# text replace wiki


【解决方案1】:

我认为使用 System.Text.RegularExpressions 命名空间中的正则表达式会做得更好。

Regex.Replace(str, "[A]", "Z");或它的一些变体。正则表达式很强大。

【讨论】:

  • 谢谢,你的回答引导我找到我需要的东西。
猜你喜欢
  • 2011-03-30
  • 2010-12-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-16
  • 2010-10-21
  • 1970-01-01
相关资源
最近更新 更多