2

引用符や括弧などで囲まれた文字列を変数に抽出できるようにしたい。たとえば、私のテキストは "Hello there "Bob" ". 2 つの引用符の間から "Bob" というテキストを抽出し、後で使用するために文字列 "name" に入れたいと考えています。「Hello there (Bob)」も同様です。これについてどうすればいいですか?ありがとう。

=======編集======

すみません、言い方がまずかったです。さて、テキストボックス(Textbox1)とボタンがあるとしましょう。ユーザーがテキストを入力した場合: MsgBox "THIS IS MY MESSAGE" ボタンを押したときに、テキスト THIS IS MY MESSAGE のみが表示されるようにします。

4

2 に答える 2

2

これは非常に単純な解決策です。

Dim sAux() As String = TextBox1.Text.Split(""""c)
Dim sResult As String = ""

If sAux.Length = 3 Then
    sResult = sAux(1)
Else
    ' Error or something (number of quotes <> 2)
End If
于 2013-02-18T09:12:31.083 に答える
2

基本的には、正規表現、string.indexof、substring の 3 つの方法があり、最後に文字を 1 つずつループします。車輪を再発明するだけなので、後者は避けます。regex と indexof のどちらを使用するかは、要件とデータの複雑さによって異なります。Indexof は少し冗長ですが、かなり単純であり、おそらくこの場合に必要なものです。

Dim str as String = "Hello there ""Bob"""
Dim startName as Integer 
Dim endName as Integer
Dim name as String = ""

startName = str.IndexOf("""")
endName = str.Indexof("""", If(startName > 0, startName,0))
If (endName>startName) Then
    name = str.SubString(startName, endName)
End If

任意のシンボルに対してこれを行う必要がある場合は、正規表現が必要です。

于 2013-02-17T23:35:07.103 に答える