Range

Range class

代表文档中的连续区域。

要了解更多信息,请访问使用范围文档文章。

public class Range : IEnumerable<Node>

特性

姓名描述
Bookmarks { get; }返回Bookmarks代表范围内所有书签的集合。
Fields { get; }返回Fields表示范围内所有字段的集合。
FormFields { get; }返回FormFields表示范围内所有表单字段的集合。
Revisions { get; }获取此范围内存在的修订(跟踪的更改)的集合。
StructuredDocumentTags { get; }返回StructuredDocumentTags表示范围内所有结构化文档标签的集合。
Text { get; }获取范围的文本。

方法

姓名描述
Delete()删除范围内的所有字符。
GetEnumerator()
NormalizeFieldTypes()更改字段类型值FieldTypeFieldStartFieldSeparatorFieldEnd 以便它们与字段代码中包含的字段类型相对应。
Replace(Regex, string)用另一个字符串替换正则表达式指定的字符模式的所有出现。
Replace(string, string)用替换字符串替换所有出现的指定字符串模式。
Replace(Regex, string, FindReplaceOptions)用另一个字符串替换正则表达式指定的字符模式的所有出现。
Replace(string, string, FindReplaceOptions)用替换字符串替换所有出现的指定字符串模式。
ToDocument()构造一个包含范围的新的完整文档。
UnlinkFields()取消此范围内的字段链接。
UpdateFields()更新此范围内的文档字段的值。

评论

文档由节点树表示,并且节点提供 operations 来与树一起工作,但如果将 document 视为连续的文本序列,则某些操作更容易执行。

Range是一个“外观”接口,它提供将 document 或文档的各部分视为“平面”文本的方法,而不管 document 节点是否存储在树状对象模型中。

Range不包含任何文本或节点,它仅仅是文档片段上的视图或“窗口” 。

例子

展示如何获取某个范围覆盖的所有节点的文本内容。

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

builder.Write("Hello world!");

Assert.AreEqual("Hello world!", doc.Range.Text.Trim());

也可以看看