我正在为Word开发一个文本分析vsto插件。因此,我像这样获得活动文档的文本:
Globals.ThisAddin.Apllication.ActiveDocument.Content.Text之后,我对其进行了分析。分析返回单词应该注释的位置列表(如字符3-6和字符10 - 13)。
问题是,从3到6的注释似乎在文档中添加了一个字符(即隐藏的)。因为Word在第一个注释之后所做的所有注释都太早了一个字符。
有没有办法解决这个问题,或者如何获得带有隐藏字符的文本?
我找到了TextRetrievalMode,但是我不能让它工作。
发布于 2019-05-10 02:07:28
基本上,答案是“不,你不能按照你提议的方式去做。”
是的,Word确实向文本流添加了无法使用对象模型提取的“隐藏字符”。尝试使用字符索引值是不可靠的。可靠的方法是Word内置的带有通配符的查找/替换。如果RegEx是绝对必要的,那么在字符索引范围内进行某种查找/替换(例如,在使用RegEx计算的索引之前开始5个字符,在索引之后结束5个字符)可能是仔细检查结果并选取正确范围的一种方法。
根据这是什么类型的分析,利用Office Open XML处理关闭的文件可能更好。这将不会有Word用于结构信息的“隐藏字符”的问题。另一方面,有大量的格式化信息将文本串分开,需要处理这些信息……
https://stackoverflow.com/questions/56059261
复制相似问题