VB.net检查字符串,用于由引号封装的子字符串

时间:2018-01-30 18:52:02

标签: string vb.net substring

我的目标是确定提供的字符串是否包含用双引号封装的字符串 - 例如:我的狗是“名为Max” 如果它确实有这样的字符串,我想将它分配给变量。

双引号可以在一端或另一端,也可以完全在字符串内。 虽然我理解如何搜索引号本身或如何计算它们的出现次数...我不知道如何搜索在两个引号字符实例之间找到的子字符串。

Dim originalSearchText as String = "My dog Is ""named Max"""
Dim containsDblQuotes As Boolean
Dim selectedSubString As String = Nothing

  If originalSearchText.Contains("""") Then
    containsDblQuotes = True
  Else
    containsDblQuotes = False
  End If

我需要上面的内容将名为Max的字符串赋给名为selectedSubString的变量。

1 个答案:

答案 0 :(得分:1)

您可以使用String.Split

Dim originalSearchText As String = "My dog Is ""named Max"""
'Dim originalSearchText As String = """named Max"" my dog is"
'Dim originalSearchText As String = "My dog Is ""named Max"" and ""has black fur"""
Dim splitString = originalSearchText.Split({""""c}, StringSplitOptions.None)
Dim selectedSubString As String = splitString(1)

它将返回结果数组splitString的奇数索引位置中的字符串。在第三个例子中,除了名为max""之外,"还有黑色毛皮"可以在splitString(3)找到。