如何使用正则表达式和 Xceed Docx 替换单词

问题描述

我在一个 word 文档中有多个单词,它们都以“$”开头和结尾,例如 $name$。 我正在尝试用空字符串替换所有此类事件。我该怎么办?我在下面尝试过的片段,但什么也没发生。我用的是免费版。

using (DocX document = DocX.Load("Example.docx"))
 {
    String pattern = Regex.Escape("$") + ".+" + Regex.Escape("$");
    document.ReplaceText(pattern,"",false,RegexOptions.IgnoreCase);
 }

解决方法

试试这个模式:\$.+?\$ 在您的代码中,它看起来像:

String pattern = Regex.Escape("$") + ".+?" + Regex.Escape("$");
,

好吧,看起来 ReplaceText 在使用正则表达式时需要一个函数。我已经开始工作了

string WordCheck(string find)
{
 return "";
}

String pattern = Regex.Escape("$") + ".+?" + Regex.Escape("$");
document.ReplaceText(@"\$.+?\$",WordCheck,false,RegexOptions.IgnoreCase);