OpenXML SDK 在替换中添加换行符或使用多行字符串正则表达式

问题描述

我正在使用 OpenXML 替换我的 word 文档内容,并借助正则表达式检测文档中的单词并将它们替换为新句子,但问题是当我有一个包含换行符的长字符串时,工作文档将其显示为单行。我到处搜索并尝试了所有可能的解决方案。我什至试过这个

**

string pre = "<w:p><w:r><w:t>";
        string post = "</w:t></w:r></w:p>";
        string lineBreak = "<w:br />";
        string test = pre + "First Line" + lineBreak + "Second Line" + post;
        //
        Regex regexText1 = new Regex("Question");
        docText = regexText1.Replace(docText,@test);

**

但结果在第一行的文本之间显示了长制表符。请提供解决方案。 Word Document Result

解决方法

试试这个

    string pre = "<w:p><w:r><w:t>";
        string lineBreak ="</w:t><w:br /><w:t>"
                string post = "</w:t></w:r></w:p>";
                string test = pre + "First Line" + lineBreak + "Second Line" + post;
//
        Regex regexText1 = new Regex("Question");
        docText = regexText1.Replace(docText,@test);