.net 阅读“之间的内容”&引用;

.net 阅读“之间的内容”&引用;,.net,vb.net,visual-studio-2012,.net,Vb.net,Visual Studio 2012,我正在用VB.NET编写脚本 在文本框1中,我有以下内容: 我“回家” 现在我想挑出引号之间的所有单词。在这个例子中,它是“家” 我可以检查textbox1中是否有引号,但我无法选择其中的文本。尝试以下操作: Dim s, result As String Dim index, index2 As Integer s = TextBox1.Text index = s.IndexOf("""") + 1 If index > 0 Then index2 = s.IndexOf

我正在用VB.NET编写脚本

在文本框1中,我有以下内容:

我“回家”

现在我想挑出引号之间的所有单词。在这个例子中,它是“家”

我可以检查textbox1中是否有引号,但我无法选择其中的文本。

尝试以下操作:

Dim s, result As String 
Dim index, index2 As Integer

s = TextBox1.Text
index = s.IndexOf("""") + 1

If index > 0 Then
    index2 = s.IndexOf("""", index)
    If index2 > 0 Then
        result = s.Substring(index, s.Length - index2)
    End If
End If
试试这个:

Dim s, result As String 
Dim index, index2 As Integer

s = TextBox1.Text
index = s.IndexOf("""") + 1

If index > 0 Then
    index2 = s.IndexOf("""", index)
    If index2 > 0 Then
        result = s.Substring(index, s.Length - index2)
    End If
End If
像这样,

Regex.Match("I go ""home""", """.*""")
或者,我更喜欢马特·伯兰的建议,因为它不是贪婪的

Regex.Match("I go ""home""", """(.*?)""")
这两个选项都将匹配
“home”
或任何用双引号括起来的选项。

类似这样

Regex.Match("I go ""home""", """.*""")
或者,我更喜欢马特·伯兰的建议,因为它不是贪婪的

Regex.Match("I go ""home""", """(.*?)""")

这两个选项都将匹配
“home”
或任何用双引号括起来的选项。

分享你的研究成果对每个人都有帮助。告诉我们你发现了什么,为什么它不能满足你的需要。这表明你花了时间来帮助自己,它使我们避免重复显而易见的答案,最重要的是,它帮助你得到一个更具体和相关的答案!另请参见,并使用intellisense,寻找做有用事情的方法。正则表达式可以做到这一点。一个简单的
字符串.IndexOf
(在MSDN上查找)将告诉您
的位置,然后您可以使用
字符串.Substring
来剪切它。或者,您可以使用
Regex
(再次在MSDN上查找)。@Jodrell:我更喜欢
”(.*“
。结果将在一个捕获组中,它是非贪婪的,因此您可以捕获多个引用的单词。共享您的研究有助于每个人。告诉我们你发现了什么,为什么它不能满足你的需要。这表明你花了时间来帮助自己,它使我们避免重复显而易见的答案,最重要的是,它帮助你得到一个更具体和相关的答案!另请参见,并使用intellisense,寻找做有用事情的方法。正则表达式可以做到这一点。一个简单的
字符串.IndexOf
(在MSDN上查找)将告诉您
的位置,然后您可以使用
字符串.Substring
来剪切它。或者,您可以使用
Regex
(再次在MSDN上查找)。@Jodrell:我更喜欢
”(.*“
。结果将在一个捕获组中,它是非贪婪的,因此您可以捕获多个引用的单词。