2010-03-08 146 views
2

我有一大堆的產品SKU的,看起來像:拆分文本

abc234 
asdf234324 
adc234-b 

結果:

abc 234 
asdf 234324 
adc 234-b 

我想文在一審分裂一封信。

當我說分裂時,基本上我想要訪問文本的兩個部分,也許在數組中?

這樣做的最好方法是什麼?

回答

3
^([a-z]+)(.*) 

第一個捕獲組將具有僅alpha的前綴,第二個捕獲組將包含其他所有內容。

2

下面是一個代碼示例,以及@ Dav的答案。

List<string> list = new List<string>() 
{ 
    "abc234", 
    "asdf234324", 
    "adc234-b" 
}; 

Match m; 
foreach (string s in list) 
{ 
    m = Regex.Match(s, "^(?<firstPart>[a-z]+)(?<secondPart>(.+))$"); 
    Console.WriteLine(String.Format("First Part = {0}", m.Groups["firstPart"].Value)); 
    Console.WriteLine(String.Format("Second Part = {0}", m.Groups["secondPart"].Value)); 
} 
+0

假設左側和右側部分是1個或更多個字符。可能是一件好事,但OP沒有說明。 – spender 2010-03-08 23:54:30