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

本文关键字:文件 字符 替换 另一个 一个 | 更新日期: 2023-09-27 17:50:32

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();
    }
}

我想使用线索文件来替换单词文件中的单词,老实说,我不想硬编码它们,以便有可能从文件中检索单个字符,并将它们替换为来自另一个文件的单个字符。如果是,怎么做?

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

这只是一个直接交换吗?例如,线索文件中的第一个单词替换单词文件中的第一个单词?如果不是,你怎么知道线索文件中的哪个单词会取代单词文件中的哪个单词呢?

下面是一个一对一替换单词的例子。

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();
    }
}

如果我正确理解了你的问题,你可能会有一个像这样的提示:键值苹果香蕉樱桃狗

将键替换为值,例如:苹果替换为香蕉,樱桃替换为狗。如果是这种情况,可以对线索文件中的所有键进行散列,然后将其保存在具有相应值的键值列表中,然后遍历words.txt,对文件中的每个单词进行散列并尝试在键值列表中查找,如果存在,则输出其值,否则输出原始单词。