使用 Microsoft.Office.Interop 读取 word docx 中的字符串
read string in word docx with Microsoft.Office.Interop
我在 word docx 中找到了字符串,但我想阅读接下来的两个字符串。
例如:
[字符串 id_string, 3, 1000]
我知道[字符串id_string, ...] 我找到了这个字符串:
Microsoft.Office.Interop.Word.Range range = Document.Range();
(range.Find.Execute(FindText: "[string id_string, ")
如何读取接下来的两个字符串?
感谢您的帮助!
救援正则表达式
这似乎是一个正则表达式匹配的机会。
在代码开头添加 Imports System.Text.RegularExpressions
以启用正则表达式 class。
尝试添加以下代码:
Dim docText = range.Text
Const regularExpression As String = "\[string id_string,\s[^\]]+\]"
Dim regex = New Regex(regularExpression)
Dim match = regex.Match(docText)
Dim foundString = match.Value
假设
我假设如下。如果我的假设不正确,上面的答案可能不是您要找的。
您正在使用 Visual Basic。
如果遇到“[string id_string,”,这绝对确保您找到了所需的字符串,并且会有一个右括号来完成匹配的字符串集。 (这有助于使正则表达式保持简单,但根据文本的内容,它可能会 return 出乎意料的结果。)
您需要匹配的 [] 括号和所有三个字符串。 (这使得正则表达式比使用 look ahead/behind 在模式匹配后忽略括号更简单。)
您只想将整个字符串列表 return 编入一个字符串,而不是范围、行号、位置等。(您应该能够使用 string.Split 函数在需要时拉出单独的字符串。)
您只想要遇到的第一场比赛。 (如有必要,您可以使用 regex.Matches 获取所有匹配项。)
参考
有关在 Word 中使用 Regex 的详细介绍,请参阅以下 2008 年的站点:
http://www.codeproject.com/Articles/26922/Unleashing-the-Full-Power-of-Regular-Expressions-i
我在 word docx 中找到了字符串,但我想阅读接下来的两个字符串。 例如: [字符串 id_string, 3, 1000]
我知道[字符串id_string, ...] 我找到了这个字符串:
Microsoft.Office.Interop.Word.Range range = Document.Range();
(range.Find.Execute(FindText: "[string id_string, ")
如何读取接下来的两个字符串?
感谢您的帮助!
救援正则表达式
这似乎是一个正则表达式匹配的机会。
在代码开头添加 Imports System.Text.RegularExpressions
以启用正则表达式 class。
尝试添加以下代码:
Dim docText = range.Text
Const regularExpression As String = "\[string id_string,\s[^\]]+\]"
Dim regex = New Regex(regularExpression)
Dim match = regex.Match(docText)
Dim foundString = match.Value
假设
我假设如下。如果我的假设不正确,上面的答案可能不是您要找的。
您正在使用 Visual Basic。
如果遇到“[string id_string,”,这绝对确保您找到了所需的字符串,并且会有一个右括号来完成匹配的字符串集。 (这有助于使正则表达式保持简单,但根据文本的内容,它可能会 return 出乎意料的结果。)
您需要匹配的 [] 括号和所有三个字符串。 (这使得正则表达式比使用 look ahead/behind 在模式匹配后忽略括号更简单。)
您只想将整个字符串列表 return 编入一个字符串,而不是范围、行号、位置等。(您应该能够使用 string.Split 函数在需要时拉出单独的字符串。)
您只想要遇到的第一场比赛。 (如有必要,您可以使用 regex.Matches 获取所有匹配项。)
参考
有关在 Word 中使用 Regex 的详细介绍,请参阅以下 2008 年的站点:
http://www.codeproject.com/Articles/26922/Unleashing-the-Full-Power-of-Regular-Expressions-i