字符串拆分Split()函数解析--C#
今日1朋友问我,若数据库一字段包含数据“5,6,8,9”,怎么取出单独取出里面的值,我不假思索就说了,先取出数据再在CSHARP里拆分,不过很多朋友可能都不怎么知道采用string类的对象函数Split()函数进行拆分,现在主要对这个Split()进行讲解。先做个标记,以后自己回顾自己写的博文,也会吸取到一些知识,并温故而加强自己的基础知识。
字符串对象的此方法进行了5次重载。
粘贴MS的代码:这个是中文版VS的,直接COPY了过来。
代码
// 摘要:
// 返回包含此实例中的子字符串(由指定 System.Char 数组的元素分隔)的 System.String 数组。
//
// 参数:
// separator:
// 分隔此实例中子字符串的 Unicode 字符数组、不包含分隔符的空数组或 null。
//// 返回结果:
// 一个数组,其元素包含此实例中的子字符串,这些子字符串由 separator 中的一个或多个字符分隔。有关更多信息,请参见备注部分。
public string[] Split(params char[] separator);
//
// 摘要:
// 返回包含此实例中的子字符串(由指定 System.Char 数组的元素分隔)的 System.String 数组。参数指定返回的子字符串的最大数量。
//
// 参数:
// count:
// 要返回的子字符串的最大数量。
//
// separator:
// 分隔此实例中子字符串的 Unicode 字符数组、不包含分隔符的空数组或 null。
//
// 返回结果:
// 一个数组,其元素包含此实例中的子字符串,这些子字符串由 separator 中的一个或多个字符分隔。有关更多信息,请参见备注部分。
//
// 异常:
// System.ArgumentOutOfRangeException:
// count 为负。
public string[] Split(char[] separator, int count);
//
// 摘要:
// 返回包含此字符串中的子字符串(由指定的 System.Char 数组的元素分隔)的 System.String 数组。参数指定是否返回空数组元素。
//
// 参数:
// options:
// 指定 System.StringSplitOptions.RemoveEmptyEntries 以省略返回的数组中的空数组元素,或指定 System.StringSplitOptions.None
// 以包含返回的数组中的空数组元素。
//
// separator:
// 分隔此字符串中子字符串的 Unicode 字符数组、不包含分隔符的空数组或 null。
//
// 返回结果:
// 一个数组,其元素包含此字符串中的子字符串,这些子字符串由 separator 中的一个或多个字符分隔。有关更多信息,请参见备注部分。
//
// 异常:
// System.ArgumentException:
// options 不是 System.StringSplitOptions 值之一。
[ComVisible(false)]
public string[] Split(char[] separator, StringSplitOptions options);
//
// 摘要:
// 返回包含此字符串中的子字符串(由指定的 System.String 数组的元素分隔)的 System.String 数组。参数指定是否返回空数组元素。
//
// 参数:
// options:
// 指定 System.StringSplitOptions.RemoveEmptyEntries 以省略返回的数组中的空数组元素,或指定 System.StringSplitOptions.None
// 以包含返回的数组中的空数组元素。
//
// separator:
// 分隔此字符串中子字符串的字符串数组、不包含分隔符的空数组或 null。
//
// 返回结果:
// 一个数组,其元素包含此字符串中的子字符串,这些子字符串由 separator 中的一个或多个字符串分隔。有关更多信息,请参见备注部分。
//
// 异常:
// System.ArgumentException:
// options 不是 System.StringSplitOptions 值之一。
[ComVisible(false)]
public string[] Split(string[] separator, StringSplitOptions options);
//
// 摘要:
// 返回包含此字符串中的子字符串(由指定的 System.Char 数组的元素分隔)的 System.String 数组。参数指定要返回子字符串的最大数量,以及是否要返回空数组元素。
//
// 参数:
// count:
// 要返回的子字符串的最大数量。
//
// options:
// 指定 System.StringSplitOptions.RemoveEmptyEntries 以省略返回的数组中的空数组元素,或指定 System.StringSplitOptions.None
// 以包含返回的数组中的空数组元素。
//
// separator:
// 分隔此字符串中子字符串的 Unicode 字符数组、不包含分隔符的空数组或 null。
//
// 返回结果:
// 一个数组,其元素包含此字符串中的子字符串,这些子字符串由 separator 中的一个或多个字符分隔。有关更多信息,请参见备注部分。
//
// 异常:
// System.ArgumentException:
// options 不是 System.StringSplitOptions 值之一。
//
// System.ArgumentOutOfRangeException:
// count 为负。
[ComVisible(false)]
public string[] Split(char[] separator, int count, StringSplitOptions options);
//
// 摘要:
// 返回包含此字符串中的子字符串(由指定的 System.String 数组的元素分隔)的 System.String 数组。参数指定要返回子字符串的最大数量,以及是否要返回空数组元素。
//
// 参数:
// count:
// 要返回的子字符串的最大数量。
//
// options:
// 指定 System.StringSplitOptions.RemoveEmptyEntries 以省略返回的数组中的空数组元素,或指定 System.StringSplitOptions.None
// 以包含返回的数组中的空数组元素。
//
// separator:
// 分隔此字符串中子字符串的字符串数组、不包含分隔符的空数组或 null。
//
// 返回结果:
// 一个数组,其元素包含此字符串中的子字符串,这些子字符串由 separator 中的一个或多个字符串分隔。有关更多信息,请参见备注部分。
//
// 异常:
// System.ArgumentException:
// options 不是 System.StringSplitOptions 值之一。
//
// System.ArgumentOutOfRangeException:
// count 为负。
[ComVisible(false)]
public string[] Split(string[] separator, int count, StringSplitOptions options);
-------------------------------------------------- --------------------------------------------------
现在暂时贴出自己的一段代码,以做记录。别的就不多说了。
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
string a = "5,6,9";
string []b;
b=a.Split(',');
for (int i = 0; i < b.Length;i++ )
{
Response.Write(b[i].ToString()+"</br>");
}
}
}