获得特殊字符之间的第三个正则表达式

时间:2017-01-11 11:04:14

标签: regex vb.net text

我有这样的文字:

2|@Favo|Name||26.0000|50.10000|_GRE|||||City|Road||||

我想捕捉这些特殊字符之间的任何内容:||

例如,我想仅捕获“名称”或我想捕获“城市”
我花了很多时间,我想出的就是这个正则表达式:

([^|].*[$|])\w+

以下是必需的值: Values 我怎样才能抓住其中一个?

谢谢。

1 个答案:

答案 0 :(得分:2)

您可以使用|拆分字符串,删除空条目以及所有空白条目或仅包含数字的条目:

Dim strng As String = "2|@Favo|Name||26.0000|50.10000|_GRE|||||City|Road||||"
Dim reslt As List(Of String) = strng.Split(New String() {"|"}, StringSplitOptions.RemoveEmptyEntries).Where(
    Function(m) m.All(AddressOf Char.IsDigit) = False And String.Equals(m.Trim(), String.Empty) = False).ToList()
Console.Write(String.Join(", ", reslt))

输出:

enter image description here