[.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:從零開始的軟體開發生活」
請大家繼續支持 ^_^