2013-04-29 96 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