我希望能够在引号或括号等之间为变量提取字符串。例如,我的文字可能是“Hello there”Bob“”。我想从两个引号之间提取文本“Bob”,并将其放在字符串“name”中供以后使用。 “Hello there(Bob)”也是如此。我该怎么做?感谢。
======= EDIT ==
对不起,我措辞不好。好的,我们假设我有一个文本框(Textbox1)和一个按钮。如果用户输入文本:MsgBox“这是我的消息”我希望当按下按钮时,只显示文本这是我的消息。
答案 0 :(得分:2)
基本上有三种方法 - 正则表达式,string.indexof和substring,最后逐个循环遍历字符。我会避免使用后者,因为它只是重新发明轮子。是否使用正则表达式或索引取决于您的需求和数据的复杂性。 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
如果您需要为任意符号执行此操作,那么您需要正则表达式。
答案 1 :(得分:1)
这是一个非常简单的解决方案:
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