2013-05-19 57 views
0

這裏是我的代碼基於正則表達式匹配來分割字符串模式。使用正則表達式分割只考慮正則表達式模式的第一次出現

string[] docPath = Regex.Split("\\\\sds\\dsd\\df\\df\\d\\fd\\D\\sd\\asdsf\\sdf\\D\\dsfsd", @"[\\][A-Z][\\]"); 

上面的代碼分割輸入串(硬編碼)成3個部分,即

  1. \\ SDS \ DSD \ DF \ DF \ d \ FD
  2. SD \ asdsf \ SDF
  3. dsfsd

我希望它只在第一個發生分裂。輸出我要的是:

  1. \\ SDS \ DSD \ DF \ DF \ d \ FD
  2. SD \ asdsf \自衛隊\ d \ dsfsd

任何人都可以請幫我修改reg表達式?請幫助。

回答

1

使用Regex.Split()的版本是一個實例方法,這需要數指定組件的最大數量分裂成:

Regex pattern = new Regex(@"[\\][A-Z][\\]"); 
string[] docPath = pattern.Split(
    "\\\\sds\\dsd\\df\\df\\d\\fd\\D\\sd\\asdsf\\sdf\\D\\dsfsd", 2);