如何选择textbox.contain()代码之间的字符串?

时间:2016-03-25 05:08:02

标签: vb.net string vb.net-2010 delimiter

我想要做的事实是我想在文本框中找到一个字符串。我的想法是使用IF来查找当前字符串;

如果Textbox1.Contain(“<”)AndAlso Textbox1.Contain(“>”)那么 '我想选择<之间的字符串。和>做MySQL命令。 结束如果

我该怎么做?谢谢你们的帮助!

2 个答案:

答案 0 :(得分:0)

我不熟悉VB。但也许你想尝试使用正则表达式。它对搜索和提取非常有用。 像下面这样的东西应该有效。

Dim strBetween As String
strBetween = Regex.Match(TextBox1.text, "<(.*?)>").Value

或者您可以按照以下示例执行操作:

Sub Main()
    Dim regex As Regex = New Regex("<(.*?)>")
    Dim match As Match = regex.Match(TextBox1.text)
    If match.Success Then
        Console.WriteLine(match.Value)
    End If
End Sub

如果有效,请告诉我。

答案 1 :(得分:0)

没有弄乱RegEx的解决方案可能就是这个(这实际上取决于您的需求):

<HideModuleName>
Public Module StringExtensions

    <Extension>
    Public Function GetFirstStringBetween(ByVal sender As String,
                                          ByVal delimiterA As String,
                                          ByVal delimiterB As String) As String

        If sender.Contains(delimiterA) AndAlso sender.Contains(delimiterB) Then

            Dim rightPart As String = sender.Substring(sender.IndexOf(delimiterA) + 1)

            If rightPart.Contains(delimiterB) Then
                Return rightPart.Substring(0, sender.IndexOf(delimiterB) - 1)
            End If

        End If

        Return sender

    End Function

End Module

用法:

Dim str As String = "<Hello World> <Bye World>"
Dim result As String = str.GetFirstStringBetween("<", ">")

Console.WriteLine(result)