0

Access 2000 (Visual Basic 関数) で次のような文字列を分割したいと思います。

"[Results]

 [Comments]"         

2 つの部分で:

  • 結果部分
  • コメント部分

お気づきのように、これら 2 つの部分は空行で区切られています (常に、これがセパレーターです)。

[結果] と [コメント] はテキストのブロックです。何が入っているかは気にしません:

結果部分には空行が含まれていないため、最初に表示される空行が区切り行です。

コメント部分のみを抽出する関数が必要です。

これが私が試したものです:

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"   

しかし、私はComment2しか取得しません。コメント部分を抽出するアイデアはありますか?

どうもありがとう !

4

1 に答える 1

2

InStr代わりに使用する必要があるかもしれませんInStrRev

InStrRev

文字列の右側から開始して、ある文字列が別の文字列内で最初に出現する位置を返します。

InStr ある文字列が別の文字列内で最初に出現する開始位置を指定する整数を返します。

于 2013-04-29T08:53:14.923 に答える