【问题标题】:VB.NET split string with quotation marks in itVB.NET 中带有引号的拆分字符串
【发布时间】:2009-08-09 02:21:45
【问题描述】:

试图在出现"," 的地方分割一行(带有引号)。问题是 VB.NET 使用 " 开始/结束字符串,所以我尝试使用 .Split(""",""") 但随后将其拆分为 " 而不是 ","

【问题讨论】:

    标签: vb.net string split


    【解决方案1】:

    试试这样的:

    Dim TestToSplit As String = "Foo"",""Bar"
    Dim Splitted() As String = TestToSplit.Split(New String() {""","""}, StringSplitOptions.None)
    

    我刚刚对其进行了测试,并得到了一个带有 Foo 和 Bar 的数组。我希望这会有所帮助。

    【讨论】:

    • 完美!现在我所有的数字都是错误的,但我预料到了。完美运行。
    【解决方案2】:

    Split 函数(您使用它的方式)需要一个字符。如果要拆分多个字符,则需要使用字符串 array。 (在我看来,单个字符串值的另一个重载会很方便。)

    此函数拆分一行文本并根据您指定的分隔符返回一个数组。 (当然,您可以通过传入分隔符数组来使其更通用。)

       Private Function SplitLine(ByVal lineOfText As String) As String()
    
          Dim separator() As String = {""","""}
          Dim result() As String
    
          result = lineOfText.Split(separator, StringSplitOptions.None)
    
          Return result
    
       End Function
    

    【讨论】:

      【解决方案3】:

      另一个我经常觉得有用的替代方法是:

      Regex.Split(textToSplit, """,""")
      

      允许您根据比替代分隔符数组更复杂的条件进行拆分。

      【讨论】:

        【解决方案4】:

        要在 VB.NET 中转义“-字符”,请使用两个:“”

        【讨论】:

          猜你喜欢
          • 2013-08-03
          • 2011-04-16
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-05-06
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多