程序开发 > C# > 正文

C# Split用法及实例

亮术网 2020-08-30 本网

在 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"}

本文浓缩标签:SplitC#