正則表達式來! Rescue
這似乎是一個正則表達式匹配的機會。
在您的代碼開始處添加Imports System.Text.RegularExpressions
以啓用Regex類。
嘗試添加以下代碼:
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,」,這絕對保證你在你想要的字符串,並且會有一個閉括號來完成匹配的字符串集合。 (這有助於保持正則表達式的簡單性,但取決於文本的內容,它可能會返回意外的結果。)
您希望匹配的[]括號和所有三個字符串。 (這使得正則表達式比使用向前/向後簡單來忽略模式匹配後的括號)。
您只想要一個字符串返回的整個字符串列表,而不是範圍,行號,位置等(您應該可以使用string.Split函數在需要時拉出單個字符串。)
您只需要您遇到的第一個匹配項。 (如果需要,您可以使用regex.Matches獲取所有匹配項。)
參考
在Word中使用正則表達式的詳細介紹,請參見以下站點從2008年:
http://www.codeproject.com/Articles/26922/Unleashing-the-Full-Power-of-Regular-Expressions-i