2015-01-09 16 views
-1

我有一個字符串C#灑串accourding到PCL命令

str = E   TAX INVOICE    F 

,我想分成3個部分,如

part 1= 'E' 
part 2= '   TAX INVOICE    ' 
part 3= 'F' 

在分裂由Ë˚F完成。

我試圖

string[] strArr = Regex.Split(line, "E" + "|" + "F"); 

但只在陣列得到

'   TAX INVOICE    ' 

,我也需要 'E' 和 'F' 在裏面。

+0

如果你總是有單個字符,爲什麼不只是得到兩端的字符和中間的子字符串? –

+0

@ shree.pat18不,我有多個拆分標準 –

+0

然後,你應該在這裏添加。根據你的單獨樣本,Regex看起來像是矯枉過正。 –

回答

0

如果你真的需要使用E和F

當然你也可以只創建新陣列還含有Ë˚F與您正則表達式的結果。

由於正則表達式你可以做加圓括號內的正則表達式像

(E|F) 

但仍拆分字符串錯誤,如果有E中的源字符串中包含的分隔符。

只匹配E和F與周圍空間的兩側可以使用

(E | F) 

仍然離開陣列內部的空間,雖然。

如果你可以使用空格作爲分隔符

嘗試以此爲Regex.Split的第二個參數,而不是

[ ]{2,} 

這2米或更多的空間匹配在一起,從而分割字符串分爲三個部分如你所願。

string[] strArr = Regex.Split(line, "[ ]{2,}"); 
+0

分裂標準呢? –

+0

「T.I.N.E。: - 09615111804C F TIN:09881902522 F.L:G」 SPILLED = E,F,G –