2013-04-29 196 views
0

我想在Access分裂像這樣的字符串2000(Visual Basic函數):如何將這個字符串分成兩部分?

"[Results] 

[Comments]"   

分爲兩部分:

  • 結果部分
  • 的評論部分

正如您可以注意到的那樣,這兩部分之間用空行分隔(總是,這是我們的分隔符)。

[結果]和[評論]是文本塊。我們不關心它是什麼,除了:

結果部分沒有任何空行,所以我們看到的第一個空行是分隔符。

我想我的函數只提取註釋部分。

這裏是我的嘗試:

Public Function ExtractComm(txt As String) As String 

Dim emptyLine As Integer 

txt = Trim(txt) 

'emptyLine = first empty line index ?? 
emptyLine = InStrRev(txt, (Chr(13) + Chr(10)) & (Chr(13) + Chr(10))) 

'Comments part = all that is after the empty line ?? 
ExtractComm = Mid(txt, emptyLine + 4) 

End Function 

但它不能很好地工作。 如果我做的:

ExtractComm(
    "Res1 
    Res2 

    Comment1 

    Comment2" 
) 

我想獲得:

"Comment1 

Comment2" 

但我只獲得註釋2。任何想法提取評論部分?

非常感謝!

回答

2

也許你需要使用InStr代替InStrRev

InStrRev

返回一個字符串中的另一個第一次出現,從字符串的右側開始的位置。

InStr 返回一個整數,指定在另一個字符串中第一次出現的起始位置。

+0

確實現在可以運作了,非常感謝! – ponponke 2013-04-29 09:56:33