【发布时间】:2016-01-27 19:34:40
【问题描述】:
全部。我正在尝试编写一个单词替换工具,它可以一次查找和替换多个单词。这是我的代码:
IDictionary<string, string> wordDict = new Dictionary<string, string>();
wordDict[wordsToFind.Text] = wordsToReplace.Text;
string textToReplace = article.Text;
foreach (KeyValuePair<string, string> entry in wordDict)
{
textToReplace = textToReplace.Replace(entry.Key, entry.Value);
}
wordDict 只是一个键值数组,其中键是要查找的单词,值是要替换找到的单词的单词。例如,这本词典中的一个条目可能看起来像drone->dog。
wordsToFind.Text 和 wordsToReplace.text 应该是不言自明的。我只是在演示我的 wordDict 词典是如何设置的。
article.text 变量只是包含需要替换的单词的文本块。
问题我遇到的问题是单词替换器遇到大写单词并且不将它们识别为要替换的单词(区分大小写)。
不只是简单地将所有内容小写并以这种方式替换(或者,如果您也有办法在输出中保留原始大小写,我将尝试将所有内容小写),我正在尝试找到一种方法来基本上检测那些大写的单词,其中第一个字母大写,并且当我的 wordDict 变量中的单词全部小写时,将其替换为替换单词的相同大小写。
【问题讨论】:
-
你用谷歌搜索过这个吗?可能的欺骗:stackoverflow.com/questions/244531/…
-
不,那家伙的 $ 弄乱了正则表达式函数有问题。我的问题是找到一个大写的单词并将其替换为另一个也大写的单词