搜索文本并从文件中复制另一个文本。 C#

时间:2013-11-11 17:11:00

标签: c#

我正在努力做到这一点我正在努力,我会解释.. 首先,抱歉我的英文..

我有这个:

        int counter = 0;
        string line;

        System.IO.StreamReader file = new System.IO.StreamReader(@"myfile.txt");
        WebClient testador = new WebClient();
        while ((line = file.ReadLine()) != null)
        {
            string[] campos = line.Split(':');
            counter++;
        }

        file.Close();

我需要他得到 campos [0] 这个词,例如。坎波斯[0] =苹果

并在其他文件.txt中搜索此单词,例如:myfile2.txt,然后复制下10个字母..

再次,抱歉我的英语。

EDIT¹: 首先我在myfile.txt中获取文本,例如:MyFile.txt的第1行是:“apple:yeah:test”我使用string [] campos = line.Split(':')来制作separe,campos [0] = apple,现在..我需要在myfile2.txt中搜索apple,然后从中复制下10个字母。

谢谢你们。 :d

1 个答案:

答案 0 :(得分:0)

根据我对你想做什么的理解,我以一种你可以循序渐进的方式编写了这段代码。希望它能帮助你做你想做的事。 首先,只需输入您的2个文本文件并运行它以查看它是否为您提供了所需的结果。

var file1 = @"C:\Users\User\Desktop\file1.txt";
var file2 = @"C:\Users\User\Desktop\file2.txt";

var file1Lines = File.ReadLines(file1);
var file2Text = File.ReadAllText(file2);

var file1WordList = new List<string>();
var file2WordListWithExtraTenLetters = new List<string>();

foreach (var l in file1Lines)
{
    file1WordList.AddRange(l.Split(':'));
}

for (int i = 0; i < file1WordList.Count; i++)
{
    if (file2Text.Contains(file1WordList[i]))
    {
        var indexOfWordFromFile1InFile2 = file2Text.IndexOf(file1WordList[i]);
        file2WordListWithExtraTenLetters.Add(file2Text.Substring(indexOfWordFromFile1InFile2, 10));
    }
}

// Test it
foreach (var element in file1WordList)
{
    Console.WriteLine(element);
}
Console.WriteLine("=====================");
foreach (var element in file2WordListWithExtraTenLetters)
{
    Console.WriteLine(element);
}