2016-05-13 49 views
0

我具有其中具有格式化的文本串的Excel工作表單元格,如下所示:提取文本串

SECTION1:
1.Some文本串
2另一個文本字符串

'Excel中的一個新行分隔兩節 ''

012這裏
2.

1.Section 2開始從第2

另一個文本字符串我用這個代碼使用正則表達式來提取SECTION1和第2節(記住匹配):

RE.pattern = "(^Section1:\s.*\w)[\s]+(1\..*[\w]+$)" 
RE.Global = True 
RE.IgnoreCase = True 
For iCnt = 1 To 2 
    arrStr(iCnt-1) = re.Replace(str, "$"&iCnt) 
    WScript.Echo arrStr(iCnt-1) 
Next 

但第一次記憶匹配的輸出顯示單元格的所有內容(Section1和Section2)。請幫助我瞭解如何分別解析section1和section2。

+0

'。*'是貪婪的。它的分析比你想象的要多得多。嘗試用'。*?'替換*。* – Stavr00

+0

*。*,但具有相同的結果。 –

+0

'^([\ w \ W] *?)\ n \ n +([\ w \ W] +)'似乎可行,請在http://regex101.com上試試 – Stavr00

回答

0
RE.pattern = "([\w\W]+?)\n\n+([\w\W]+)" 

是最簡單的模式,它將拆分由一個或多個空行分隔的文本。