如何用一个文件替换另一个文件中的字符

时间:2014-03-16 07:33:09

标签: c# string

class Program
{
    static void Main(string[] args)
    {
        string words = "U:\\words.txt";
        Console.WriteLine("The words are:");
        string[] listofwords = File.ReadAllLines(@words);
        for (int i = 0; i < listofwords.Length; i++)
        {
            Console.WriteLine(listofwords[i]);
        }
        Console.ReadLine();

        string clues = "U:\\clues.txt";
        Console.WriteLine("The clues are:");
        string[] listofclues = File.ReadAllLines(@clues);
        for (int i = 0; i < listofclues.Length; i++)
        {
            Console.WriteLine(listofclues[i]);
        }
        Console.ReadLine();
    }
}

我想使用线索文件来替换单词文件中的单词如何且老实说我不想在其中硬编码它们可以从文件中检索单个字符并用另一个文件中的单个字符替换它们。如果是的话怎么样?

2 个答案:

答案 0 :(得分:0)

这只是直接交换吗?例如,线索文件中的第一个单词替换单词文件中的第一个单词?如果没有,您如何知道线索文件中的哪个单词将替换单词文件中的哪个单词?

以下是一对一替换单词的示例。

class Program
{
    static void Main(string[] args)
    {

        string[] words = new string[] { "WordOne", "WordTwo", "WordThree", "WordFour" };
        string[] clues = new string[] { "ClueOne", "ClueTwo", "ClueThree", "ClueFour" };

        foreach (string word in words)
        {
            Console.WriteLine("Current word is " + word);
        }

        Console.WriteLine();

        foreach (string clue in clues)
        {
            Console.WriteLine("Current clue is " + clue);
        }

        Console.WriteLine();

        for (int i = 0; i < words.Length; i++)
        {
            for (int j = 0; j < clues.Length; j++)
            {
                words[i] = words[i].Replace(words[i], clues[j]);
            }
        }

        foreach (string newWord in words)
        {
            Console.WriteLine("New Word is now " + newWord);
        }

        Console.Read();
    }
}

答案 1 :(得分:-1)

如果我理解你的问题,你可能有一个clues.txt看起来像这样: 核心价值 苹果香蕉 樱桃狗

如果您将Key替换为Value,例如:Apple with Banana和Cherry with Dog。 如果是这种情况,你可以散列线索文件中的所有键,然后保存在键值列表中及其相应的值,然后浏览words.txt,对于文件中的每个单词,哈希并尝试在键值列表中查找,如果存在,则输出其值,否则输出原始单词。