我有一个问题,我无法面对。我希望程序(如下所示)存储位于" temp_q.txt"中的问题的所有行。文件。例如,这是一个问题:
C1:约翰史密斯是谁?
将问题的单词保存在数组中,然后如果它在" book"中找到了答案。我命名为" core.txt"它将在文本框中显示答案 以下是代码的一部分:
private void button2_Click(object sender, EventArgs e)
{
if (File.Exists(@"C:\\Users\TEI\Desktop\temp_q.txt"))
{
//OK, pff..Now search for the question to answer!
System.IO.StreamReader keytxt = new System.IO.StreamReader(@"C:\\Users\TEI\Desktop\temp_q.txt");
String line;
while ((line = keytxt.ReadLine()) != null)
{
if (line.Contains(textBox1.Text)) //If the question has been found...
{
String ctrl1 = String.Empty;
ctrl1 = ("Line Found!Beginning Voice Transfer..");
richTextBox2.Text = ctrl1;
//Here i want to save the question word-by-word in an array.
//Begin searching for the right answer in the core
}
}
每一个小小的帮助都得到了回报! 提前谢谢!
答案 0 :(得分:2)
为了将问题逐字保存到数组中,您可以在代码中简单地声明一个数组并将问题放入string
变量中,并最终使用Split(' ')
函数将其拆分为个别的话。像这样:
string question = "Who is John Smith?";
string[] words = new string[100];
words = question.Split(' ');
您可以在此处根据您的要求定义数组大小。这将解析单词之间存在的whitespaces
整个问题。
更新:在Core.txt部分中找到单词:
现在,当您想要搜索该文本文件中的某个特定单词时,您可以遍历我们刚刚创建的数组,一次一个元素,在line
对象中搜索匹配项。像这样:
for (int i = 0; i < words.Length; i++)
{
if(line.Contains(words[i].ToString()))
{
//put your logic here.
}
}
希望这有帮助。