IgnoreDeleted

FindReplaceOptions.IgnoreDeleted property

获取或设置一个布尔值,指示忽略删除修订内的文本。 默认值为错误的.

public bool IgnoreDeleted { get; set; }

例子

演示如何在查找和替换操作期间包含或忽略删除修订内的文本。

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

builder.Writeln("Hello world!");
builder.Writeln("Hello again!");

// 开始跟踪修订并删除第二段,这将创建删除修订。
// 该段落将保留在文档中,直到我们接受删除修订。
doc.StartTrackRevisions("John Doe", DateTime.Now);
doc.FirstSection.Body.Paragraphs[1].Remove();
doc.StopTrackRevisions();

Assert.True(doc.FirstSection.Body.Paragraphs[1].IsDeleteRevision);

// 我们可以使用“FindReplaceOptions”对象来修改查找和替换过程。
FindReplaceOptions options = new FindReplaceOptions();

// 将“IgnoreDeleted”标志设置为“true”以获取查找和替换
// 忽略删除修订段落的操作。
// 将“IgnoreDeleted”标志设置为“false”以获取查找和替换
// 还可以搜索删除修订内的文本的操作。
options.IgnoreDeleted = ignoreTextInsideDeleteRevisions;

doc.Range.Replace("Hello", "Greetings", options);

Assert.AreEqual(
    ignoreTextInsideDeleteRevisions
        ? "Greetings world!\rHello again!"
        : "Greetings world!\rGreetings again!", doc.GetText().Trim());

也可以看看