【发布时间】:2010-05-27 01:14:44
【问题描述】:
我想使用 Regex.Replace() 循环遍历包含由“//”分隔的单词的字符串,以检查是否有任何单词与已传递给该方法的字符串值匹配。如果文本字符串确实匹配 wordList 中的单词之一,则替换它并返回“匹配”,如果它不匹配任何单词,则返回传递给方法的原始单词并且不替换它。
这是我目前的代码:
public void CheckText(string text)
{
//Check text entered by user
string wordList = "word1//word2//word3 etc...";
string replaceString = "matched";
if (!string.IsNullOrEmpty(wordList))
{
//How do I implement this part?
return Regex.Replace(text, wordList, replaceString);
}
}
请有人帮我解决这个问题吗?任何帮助/cmets 将不胜感激!
更新:(从更新粘贴到 OP 作为答案发布的问题)
感谢您的回复。我可能没有正确解释这个问题。如果它与 wordList 中的字符串匹配,我希望该方法替换它传递的文本字符串。例如,'word1' 被传递给方法,然后方法检查 'word1' 是否在 wordList 中,如果是,则将传递给方法的原始字符串替换为 'matched',然后返回 ' matched',如果不匹配 wordList 中的任何单词,则返回原始字符串,不要替换它。
【问题讨论】:
-
不清楚你想返回什么(如果你的方法有什么)。
void表示您不想返回任何内容,方法名称CheckText建议您要返回 Boolean 值,return line 表示您要返回 string 值(来自Regex.Replace)。也许澄清你想要达到的目标,我们可以更好地帮助你。
标签: c#