[.NET]將字串依某些分隔字串Split,並包含分隔字串

[.NET]將字串依某些分隔字串Split,並包含分隔字串

一般來說,我們要將字串依某些分隔字串Split,會使用「String.Split 方法」。

但是如果說,我們要取出那些分隔字串還要包含分隔字串要如何做呢?

舉例來說

我們有字串 a.jpgb.gifc.png ,我們要依.jpg, .gif, .png將該字串分隔成3個字串Array,分別是a.jpg, b.gif, c.png。

可以使用Regex.Split + @"(分隔字串1|分隔字串2|分隔字串3....)",程式如下,

//using System.Text.RegularExpressions;
//using System.Collections;
string temp = "a.jpgb.gifc.png";
string[] sArray = Regex.Split(temp, @"(.jpg|.gif|.png)", RegexOptions.IgnoreCase);
ArrayList result = new ArrayList();
string temp1 = string.Empty;
for (int i = 0; i < sArray.Length; i++)
{
    if ((i % 2 == 0) && (temp1.Length > 0))
    {
        result.Add(temp1);
        temp1 = string.Empty;
    }
    temp1 += sArray[i];
}
string[] myResult = result.ToArray().OfType<string>()
    .Select(o => o.ToString()).ToArray(); // array(a.jpg, b.gif, c.png)

Hi, 

亂馬客Blog已移到了 「亂馬客​ : Re:從零開始的軟體開發生活

請大家繼續支持 ^_^