FindReplaceOptions

FindReplaceOptions class

指定查找/替换操作的选项。

public class FindReplaceOptions

构造函数

姓名 描述
FindReplaceOptions() 默认构造函数。
FindReplaceOptions(FindReplaceDirection)
FindReplaceOptions(IReplacingCallback)
FindReplaceOptions(FindReplaceDirection, IReplacingCallback)

特性

姓名 描述
ApplyFont { get; } 应用于新内容的文本格式。
ApplyParagraphFormat { get; } 应用于新内容的段落格式。
Direction { get; set; } 选择替换方向。默认值为Forward.
FindWholeWordsOnly { get; set; } True 表示 oldValue 必须是一个独立的词。
IgnoreDeleted { get; set; } 获取或设置一个布尔值,指示忽略删除修订中的文本。 默认值为错误的.
IgnoreFieldCodes { get; set; } 获取或设置一个布尔值,指示忽略字段代码中的文本。 默认值为错误的.
IgnoreFields { get; set; } 获取或设置一个布尔值,指示忽略字段内的文本。 默认值为错误的.
IgnoreFootnotes { get; set; } 获取或设置一个布尔值,指示忽略脚注。 默认值为错误的.
IgnoreInserted { get; set; } 获取或设置一个布尔值,指示忽略插入修订中的文本。 默认值为错误的.
LegacyMode { get; set; } 获取或设置一个布尔值,指示使用旧的查找/替换算法。
MatchCase { get; set; } true表示区分大小写比较,false表示不区分大小写比较。
ReplacingCallback { get; set; } 在每次替换发生之前调用的用户定义方法。
SmartParagraphBreakReplacement { get; set; } 获取或设置一个布尔值,指示当没有下一个同级段落时是否允许替换段落 break 。
UseLegacyOrder { get; set; } True 表示考虑到文本框,从上到下顺序执行文本搜索。 默认值为 false。
UseSubstitutions { get; set; } 获取或设置一个布尔值,指示是否识别和使用替换模式中的替换。 默认值为错误的.

例子

显示在执行查找和替换操作时如何切换区分大小写。

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

builder.Writeln("Ruby bought a ruby necklace.");

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

// 将“MatchCase”标志设置为“true”以在查找要替换的字符串时应用区分大小写。
// 将“MatchCase”标志设置为“false”以在搜索要替换的文本时忽略字符大小写。
options.MatchCase = matchCase;

doc.Range.Replace("Ruby", "Jade", options);

Assert.AreEqual(matchCase ? "Jade bought a ruby necklace." : "Jade bought a Jade necklace.",
    doc.GetText().Trim());

显示如何切换独立的纯字查找和替换操作。

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

builder.Writeln("Jackson will meet you in Jacksonville.");

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

// 将“FindWholeWordsOnly”标志设置为“true”以替换找到的文本,如果它不是另一个词的一部分。
// 将“FindWholeWordsOnly”标志设置为“false”以替换所有文本,无论其周围环境如何。
options.FindWholeWordsOnly = findWholeWordsOnly;

doc.Range.Replace("Jackson", "Louis", options);

Assert.AreEqual(
    findWholeWordsOnly ? "Louis will meet you in Jacksonville." : "Louis will meet you in Louisville.",
    doc.GetText().Trim());

也可以看看