Zastąp cały tekst w bogatym polu tekstowym

Mam problem podczas próby zastąpienia całego tekstu pasującego do konkretnego słowa wrich text box. To jest kod, którego używam

    public static void ReplaceAll(RichTextBox myRtb, string word, string replacer)
    {
        int index = 0;

        while (index < myRtb.Text.LastIndexOf(word))
        {
            int location = myRtb.Find(word, index, RichTextBoxFinds.None);
            myRtb.Select(location, word.Length);
            myRtb.SelectedText = replacer;
            index++;
        }
        MessageBox.Show(index.ToString());
    }

    private void btnReplaceAll_Click(object sender, EventArgs e)
    {
        Form1 text = (Form1)Application.OpenForms["Form1"];
        ReplaceAll(text.Current, txtFind2.Text, txtReplace.Text);
    }

To działa dobrze, ale zauważyłem małą usterkę, gdy próbuję zastąpić list samym sobą i inną literą.

Na przykład chcę zastąpić wszystkiee wWelcome to Nigeria zea.

To właśnie dostajęWeaalcomeaaaaaaa to Nigeaaaaaaaaaaaaaaria.

I okno wiadomości pokazuje23 kiedy są tylko trzye. Pls co robię źle i jak mogę to poprawić

questionAnswers(1)

yourAnswerToTheQuestion