日期:2014-05-20 浏览次数:20966 次
public static List<string> splitByStr(string str, string splitStr)
{
List<string> re = new List<string>();
if (string.IsNullOrEmpty(str) || string.IsNullOrEmpty(splitStr) || str.Length <= splitStr.Length)
{
return re;
}
int cnt = str.Length - splitStr.Length;
int k = 0;
for (int i = 0; i < cnt; i++)
{
string tmpStr = str.Substring(i, splitStr.Length);
if (tmpStr.Equals(splitStr))
{
re.Add(str.Substring(k, i - k));
k = i + splitStr.Length;
}
if (i == cnt - 1)
{
re.Add(str.Substring(k, str.Length - k));
}
}
return re;
}
public static string[] Split(string s, string SplitChar)
{
string[] returnValue = null;
if (s.Contains(s) == false)
returnValue = new string[] { s};
else
returnValue = s.Split(char.Parse(SplitChar));
return returnValue;
}
------解决方案--------------------
不错啊 看看
------解决方案--------------------
string的Split本来就有一个重载是传入string[]参数进行对string分割的啊……
------解决方案--------------------
也可以尝试用Regex.Split()来实现分割
------解决方案--------------------
mark 学习
------解决方案--------------------
接分,学习。
------解决方案--------------------
String.Split有很多重载的方法
由此可见对.net 类的熟悉可以提高生产效率
------解决方案--------------------
??
似乎好像我没记错的话,split应该本身就支持string[]才对
------解决方案--------------------
string str="aaajsbbbjsccc";
string[] sArray=Regex.Split(str,"js",RegexOptions.IgnoreCase);
foreach (string i in sArray) Response.Write(i.ToString() + "<br>");
输出结果:
aaa
bbb
ccc
2、用多个字符来分隔:
string str="aaajbbbscccjdddseee";
string[] sArray=str.Split(new char[2]{'j','s'});
foreach(string i in sArray) Response.Write(i.ToString() + "<br>");
输出结果:
aaa
bbb
ccc
ddd
eee
------解决方案--------------------
List<string> re = new List<string>();
if (string.IsNullOrEmpty(str) || string.IsNullOrEmpty(splitStr) || str.Length <= splitStr.Length)
{
return re; // re.Add(str);
}