2010-09-23 80 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