【问题标题】:VB.net Conditional String Split/Parse using LINQ使用 LINQ 的 VB.net 条件字符串拆分/解析
【发布时间】:2011-12-08 21:00:31
【问题描述】:

我需要使用 VB.NET 解析和分离输入字符串。拆分方法在示例 1 中有效,但我的问题是,如果以下值不在示例 2 中的列表中,我需要“跳过”一个空格。我的代码使用 Split 对 String1 按预期工作,但是当它输出 EXT1000 和 3 作为单独的值时它无法满足我的需求 - 如果在列表中找不到它们应该是原始字符串的一部分。 如果可能的话,我宁愿把它保存在 Linq 中。生成某种类型的集合以用于以后的操作。主要输出将在文本文件中以 For Each “Results” WriteLine 结束。

list = {“AB”, “CD”, “EFG”, “HI”, …. “MN”, “OP”, “QR”…}

(来自外部文件的 LINQ 结果。我还没有在我的代码中使用它,但我认为我需要进行一些比较)

  • String1 = “AB CD5 EFG10 HI2 AB” (mC..Value.Split)
  • 结果 1:(多码)
  • AB(米)
  • CD5(米)
  • EFG10(米)
  • HI2(米)
  • AB(米)

  • String2 = “MN3 MN4 OP8 EXT1000 QR 3

  • 结果2:
  • MN3
  • MN4
  • OP8 EXT1000(应跳过空格,因为“EXT”不在列表中)
  • QR 3(应跳过空格,因为“3”不在列表中)

    Dim multiPoint As IEnumerable(Of XElement) = _ From mPoint In xdoc....反向

    Dim multiCode = _ 从 mC 在 multiPoint _ 从 m 在 mC..Value.Split _ 选择m

    对于 multiCode 中的每个 cd Console.WriteLine(cd) 下一个

【问题讨论】:

    标签: vb.net string linq


    【解决方案1】:
    Dim MasterList As String() = {"AB", "CD", "EFG", "HI", "MN", "OP", "QR"}
    
    Dim OtherList As String() = {"AB3", "CD4", "EFG1000", "3"}
    
    Dim DesiredList As String() = (From strValueInMasterList As String In MasterList _
                                   From strValueFromOtherList As String In OtherList _
                                   Where strValueFromOtherList.StartsWith(strValueInMasterList) _
                                   Select strValueFromOtherList).ToArray()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-01-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-05
      • 1970-01-01
      相关资源
      最近更新 更多