使用Regexp将100-AA-1001A / B / C拆分为阵列100-AA-1001A,100-AA-1001B,100-AA-1001C

时间:2018-01-10 00:47:42

标签: regex vb.net split

我在.txt档案中有 100-AA-1001A / B / C 文字。

我希望能够使用正则表达式(或最小的VB编码)在正斜杠上拆分文本并包含前缀'创建一个数组:

  • 100-AA-1001A
  • 100-AA-1001B
  • 100-AA-1001C

我想这将是对表达式的一种包围:

{{1}}

目前我手动使用Excel非常耗时。

1 个答案:

答案 0 :(得分:1)

如果格式总是如您所示,那么您只需将字符串拆分为斜线,并将最后一个字符替换为拆分中的每个部分:

Dim s = "100-AA-1001A/B/C"
Dim parts = s.Split("/"c)
Dim derived As New List(Of String)

derived.Add(parts(0))

For i = 1 To parts.Count - 1
    derived.Add(parts(0).Remove(parts(0).Length - 1) & parts(i))
Next

Console.WriteLine(String.Join(vbCrLf, derived))
Console.ReadLine()

输出:

  

100-AA-1001A
  100-AA-1001B
  100-AA-1001C

如果确实需要数组,您可以从derived获取derived.ToArray()的数组。