使用VB.NET查找模式6位数空间7位###### #######的最佳方法

时间:2008-11-19 18:13:28

标签: vb.net regex

在vb.net中解析文本文件,需要在这两个文本部分中找到纬度和经度。模式是6位数字空格7位数(364800 0953600)。样本来自两个不同的地图文件,格式略有不同。

I 2H02 364800 0953600 '                 SEC72                           10496300-
I 2H05 360100 0953645 '                               ZFW J602 ZME 2A93 10496400-
I 2H06 361215 0952400 '                 SEC72                  ZME 2A75 10496500-
I 2H07 361715 0951145 '                 SEC27/72               ZME 2A78 10496600-
I 2H08 362025 0950100 '                 TUL                    ZME 2A69 10496700-
I 2H10 360800 0952915 '                                        ZME 2A85 10496800-
I 2H11 362500 0955015 '                 SEC62/72                        10496900-
I 2H14 364145 0954315 '                 TUL                             10497000-


I A85A                  'AL851                                50591 REF 33393944 
         391500 0831100 '                                     50591 REF 33393945 
I A85B                  'AL851                                50591 REF 33393946 
         374500 0825700 '                                     50591 REF 33393947 
I A87A                  'AL871                               111592 REF 33393948 
         402050 0814420 '                                    111592 REF 33393949 
I A87B                  'AL871                               111592 REF 33393950 
         400449 0814400 '                                    111592 REF 33393951 
I A87C                  'AL872                              '030394 GDK 33393952 
         392000 0810000 '                                   '030394 GDK 33393953

谢谢,

戴夫

4 个答案:

答案 0 :(得分:6)

一个简单的正则表达式应该这样做:

[0-9]{6} [0-9]{7}

答案 1 :(得分:6)

Dim matches As MatchCollection
Dim regex As New Regex("\d{6} \d{7}")
matches = regex.Matches(your_text_string)

答案 2 :(得分:2)

.....

(?<First>\d{6})\s(?<Second>\d{7})

答案 3 :(得分:0)

进行简单的群组捕捉。看起来你的RegEx公式足够简单,可以处理两种情况(空间检测有点丢失)。然后,您可以访问匹配的组属性(命名或仅基本索引)并获取所需的数据。