docx unzerbrechliche Wörter

Ich versuche, Wörter in einer docx-Datei wie beschrieben zu ersetzenHier:

public static void SearchAndReplace(string document)
{
    using (WordprocessingDocument wordDoc = WordprocessingDocument.Open(document, true))
    {
        string docText = null;
        using (StreamReader sr = new StreamReader(wordDoc.MainDocumentPart.GetStream()))
        {
            docText = sr.ReadToEnd();
        }

        Regex regexText = new Regex("Hello world!");
        docText = regexText.Replace(docText, "Hi Everyone!");

        using (StreamWriter sw = new StreamWriter(wordDoc.MainDocumentPart.GetStream(FileMode.Create)))
        {
            sw.Write(docText);
        }
    }
}

Das funktioniert einwandfrei, außer dass für SomeTest in einem Dokument manchmal Folgendes angezeigt wird:

    <w:t>
        Some
    </w:t>
</w:r>

<w:r w:rsidR="009E5AFA">
    <w:rPr>
        <w:b/>
        <w:color w:val="365F91"/>
        <w:sz w:val="22"/>
    </w:rPr>
    <w:t>
        Test
    </w:t>
</w:r>

Und natürlich schlägt der Austausch fehl. Vielleicht gibt es eine Problemumgehung, um einige Wörter in docx unzerbrechlich zu machen? Oder mache ich das vielleicht falsch?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage