2010-09-23 55 views
1

我想有以下格式VB.Net正则表达式

“FAG001 FAG002 FAG003”

一个字符串,并希望将其分割成

“FAG001” “FAG002” “ FAG003“

使用正则表达式。不幸的是,我对正则表达式synatax的了解仅限于说至少。我曾尝试之类的东西

Dim result = Regex.Split(npcCodes, "([A-Z]3[0-9]3)").ToList 

没有运气

回答

4

无需正则表达式在这里,你可以使用String.Split

Dim result As String() = npcCodes.Split(new Char[]{" "}) 

但是,如果你真的想用正则表达式:

Dim result = Regex.Split(npcCodes, " ").ToList() 
+0

您的正则表达式分割给出了结果“”,“FAG001”,“”,“FAG002”,“”,“FAG003”,“”',即你真的得到了值之间的东西,值也包括在你捕捉你分裂的东西.. – Guffa 2010-09-23 09:24:17

+0

谢谢。更正^^ – 2010-09-23 09:36:16

+0

谢谢,我使用的是正则表达式,因为上面描述的格式可能不是字符串接收到的唯一格式 – bristows 2010-09-23 18:12:59

2

由于madgnome指出你不需要正则表达式,如果字符串是小路与空间分开。

不过,对于您的信息出现错误的是,你需要的数字quantifiers大括号:

[A-Z]{3} 

代替Regex.Split你可以使用 Regex.Matches

0

正则表达式中Split方法使用将是非常简单的:

Dim result = Regex.Split(npcCodes, " ").ToList 

由于表达只匹配单个字符,你可以如用常规Split方法在String类:

Dim result = npcCodes.Split(" "C).ToList