C# Split用法及实例
在 C# 中,Split() 方法用于分割字符串,分割后的字符串以数组的形式返回。
一、语法
String.Split(params Char[] separator)
重载方法:
1、String.Split(Char[] separator, int count)
2、String.Split(Char[] separator, StringSplitOptions options)
3、String.Split(string[] separator, StringSplitOptions options)
4、String.Split(Char[] separator, int count, StringSplitOptions options)
5、String.Split(string[] separator, int count, StringSplitOptions options)
二、参数说明:
1、separator:分隔符数组,即分隔字符串中子字符串的 Unicode 字符数组、不包含分隔符的空数组或 null;
2、count:返回子字符串的最大数量;
3、options:是否返回空数组元素,它可以取2个值,分别是:
StringSplitOptions.RemoveEmptyEntries 不返回含有空字符串的数组元素;
StringSplitOptions.None 返回含有空字符串的数组元素。
三、注意问题
1、返回的子字符(数组元素)不包含分隔符;
2、如果 tring 中没有分隔符,则把 String 作为数组的一个元素返回;
3、如果 separator 为空(null 或 ""),则采用空白字符作为分隔符;
4、用单引号括起的是 Char 类型,如 '|';用双引号括起来的是 string 类型,如 "|"。
四、Split 所在命名空间和程序集
命名空间:System;
程序集:mscorlib.dll。
五、实例
1、实例一
假如为了安全,不传递明文,用户登录名和密码在客户端用 Javascript 加密,用户名和密码之间用|分隔;在服务器端用 C# 解密后把用户名和密码分开,此时正好用上 Split() 方法,代码如下:
string str = "username|password";
string[] arr = str.Split('|');//返回数组:{"username","password"}
string[] arr1 = str.Split('.');//返回数组:{"username|password"}
string userName = arr[0];
string pwd = arr[1];
2、实例二
string str = "1,2.2,3,4.4,,5";
string[] arr = str.Split(new Char[] { });//返回数组:{"1,2.2,3,4.4,,5"}
string[] arr1 = str.Split(null);//返回数组:{"1,2.2,3,4.4,,5"}
string[] arr2 = str.Split(new Char[] { ','});
//返回数组:{"1","2.2","3","4.4","","5"}
string[] arr3 = str.Split(new Char[] { ',', '.' });
//返回数组:{"1","2","2","3","4","4","","5"}
3、实例三
string[] arr = str.Split(new Char[] { ',' }, 3);//返回数组:{"1","2.2","3,4.4,,5"}
string[] arr1 = str.Split(new Char[] { ',', '.' }, 7);
//返回数组:{"1","2","2","3","4","4",",5"}
4、实例四
string[] arr = str.Split(new Char[] { ',' }, 8, StringSplitOptions.None);
//返回数组:{"1","2.2","3","4.4","","5"}
string[] arr1 = str.Split(new Char[] { ',' }, 8, StringSplitOptions.RemoveEmptyEntries);
//返回数组:{"1","2.2","3","4.4","5"}
string[] arr2 = str.Split(new Char[] { ',', '.' }, 8, StringSplitOptions.None);
//返回数组:{"1","2",2","3","4","4","","5"}
string[] arr3 = str.Split(new Char[] { ',', '.' }, 8, StringSplitOptions.RemoveEmptyEntries);
//返回数组:{"1","2",2","3","4","4","5"}
5、实例五
string[] arr = str.Split(new string[] { ",", "." }, 8, StringSplitOptions.None);
//返回数组:{"1","2",2","3","4","4","","5"}
string[] arr1 = str.Split(new string[] { ",", "."; }, 8, StringSplitOptions.RemoveEmptyEntries);
//返回数组:{"1","2",2","3","4","4","5"}