将语法或txt转换为字符串以便稍后在C#中解析

时间:2014-12-23 11:33:54

标签: c#

无论如何都要加载像这样的语法

_recognizer.LoadGrammar(new Grammar(new GrammarBuilder(new Choices(File.ReadAllLines(@"Default Animals")))));

或者像这样

string contents = (File.ReadAllText(@"Default Animals.txt"));

成一个字符串,这样我可以用IF语句检查该文本中是否有某个单词?

实施例*

 if(speech.Contains(contents)) 
{
  kevin.speak("It worked");
} else {
  kevin.speak("It didnt work");
}
 break;

问题是,它只会读取“默认动物文本,如果其中只有一个单词... 喜欢     狗 但如果.txt看起来像这样

dog
cat
fish

它不会读它。我希望它检查.txt是否包含该单词,如果它包含,那么我会给出正确的响应。

2 个答案:

答案 0 :(得分:2)

我想你想测试语音字符串是否包含文本文件中定义的任何动物。

        string speech = "i want a tiger";

        var allAnimals = File.ReadAllLines(@"Default Animals.txt");
        if (allAnimals.Any(x => speech.IndexOf(x, StringComparison.CurrentCultureIgnoreCase) != -1))
        {
            kevin.speak("It worked");
        }
        else
        {
            kevin.speak("It didnt work");
        }

答案 1 :(得分:1)

我认为您正在寻找的方法是

File.ReadAllLines(pathToFile)

将所有文件内容读入变量。