我需要使用VB.NET解析和分离输入字符串。 Split方法适用于示例1,但我的问题是当我需要“跳过”空格时,如果列表中没有像Example2那样的值。我的代码按照预期为String1使用Split工作,但是当它输出EXT1000和3作为单独的值时它不能满足我的需要 - 如果在列表中找不到它们,它们应该是原始字符串的一部分。 如果可能的话,我宁愿把它留在Linq。生成某种类型的集合以用于以后的操作。主输出将以文本文件中的For Each“Results”WriteLine结束。
list = {“AB”, “CD”, “EFG”, “HI”, …. “MN”, “OP”, “QR”…}
(LINQ来自外部文件的结果。我还没有在我的代码中使用它,但我想我需要加入一些比较)
AB (m)
String2 =“ MN3 MN4 OP8 EXT1000 QR 3 ”
QR 3 (应跳过空格,因为“3”不在列表中)
Dim multiPoint As IEnumerable(Of XElement)= _ 来自mPoint In xdoc .... Reverse
Dim multiCode = _ 来自mC In multiPoint _ 从m In mC..Value.Split _ 选择m
对于每个cd在multiCode中 Console.WriteLine(CD) 下一步
答案 0 :(得分:0)
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()