【问题标题】:How to split new line in string in vb.net如何在 vb.net 中拆分字符串中的新行
【发布时间】:2013-02-10 08:19:12
【问题描述】:

例如..如果我有这样的文字

214asd
df5df8
d66f66

我想使用 vb.net 将它们分成 3 个字符串。

【问题讨论】:

    标签: vb.net string split


    【解决方案1】:

    假设您想在新行上拆分 - 使用 String.Split 将返回一个包含部分的数组:

    Dim parts As String() = myString.Split(new String() {Environment.NewLine},
                                           StringSplitOptions.None)
    

    这将是特定于平台的,因此您可能希望拆分为 "\n""\r""\n\r" 或它们的组合。 String.Split 有一个重载,它接受一个字符串数组,其中包含您要拆分的字符串。

    【讨论】:

    • 我真的很喜欢这种方式 - 但是,在这种情况下,我只想要 parts(UBound(parts)) String (或者我认为它会是这样),并使用 StringSplitOptions.None 它会将我的变量设置为 "" - 如果有人需要省略空条目 [y/ies],请改用 StringSplitOptions.RemoveEmptyEntries 作为拆分选项。
    【解决方案2】:
    Dim strLines() As String = Clipboard.GetText.Replace(Chr(13), "").Split(Chr(10))
    

    我喜欢这样做。一个只能在一个字符上拆分,但在大多数情况下,NewLine 是两个字符,回车(0x0D AKA Char 13)和换行(0x0A AKA Char 10)。但在其他系统中,它只是一个 LF。所以我只需删除 CR 的所有实例并在 LF 上拆分。

    【讨论】:

      【解决方案3】:
      str.Split(New String() {Environment.NewLine}, 
                StringSplitOptions.RemoveEmptyEntries)
      

      【讨论】:

      • @Oded 感谢您的编辑.. 不知道我是如何错过代码格式的 :)
      【解决方案4】:
      Dim enter As String = vbCrLf
      Dim linecount As Integer = 0
      Dim sr As New System.IO.StreamReader(yourTextFilePath)
      linecount = sr.ReadToEnd.Split(CChar(enter)).Length - 1
      

      【讨论】:

        【解决方案5】:
        Dim strLines As String() = myString.Split(New String() {Convert.ToChar(13), Convert.ToChar(10)}, StringSplitOptions.RemoveEmptyEntries)
        

        【讨论】:

        • 请解释一下你的答案
        • 您可以使用 char 数组拆分字符串。
        • 工作就像一个魅力。
        猜你喜欢
        • 2016-03-13
        • 2011-02-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多