如何 select textbox.contain() 代码之间的字符串?
how to select the strings between the textbox.contain() code?
我实际上想做的是在文本框中查找字符串。例如,我的想法是使用 IF 查找当前字符串;
If Textbox1.Contain("<") AndAlso Textbox1.Contain(">") 那么
'我想 select < 和 > 之间的字符串执行 MySQL 命令。
结束如果
我该怎么做?谢谢大家的帮助!
我不熟悉 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
如果有效请告诉我。
不干扰 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)
我实际上想做的是在文本框中查找字符串。例如,我的想法是使用 IF 查找当前字符串;
If Textbox1.Contain("<") AndAlso Textbox1.Contain(">") 那么 '我想 select < 和 > 之间的字符串执行 MySQL 命令。 结束如果
我该怎么做?谢谢大家的帮助!
我不熟悉 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
如果有效请告诉我。
不干扰 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)