string[] a= s.Split(new[] {“,”}, StringSplitOptions.None);
//用,分割。
string [] = s.Split(new[] {“,”}, StringSplitOptions.RemoveEmptyEntries);
//用,分割,去除空值
StringSplitOptions是Split方法的一个枚举选项,用于指定在执行字符串分割时的行为。在这种情况下,StringSplitOptions.None表示不执行任何特殊处理,即不移除空白项或空白字符。
StringSplitOptions枚举的两个主要选项:
StringSplitOptions.RemoveEmptyEntries:指定在结果数组中不包含空的子字符串。如果分割后的字符串包含多个连续的分隔符,则这些分隔符之间的空字符串将被忽略,不包含在结果数组中。
StringSplitOptions.None:指定不执行任何特殊处理。即使分割后的字符串包含空的子字符串,也会包含在结果数组中。
String.Split 方法有6个重载函数:
- public string[] Split(params char[] separator)
- public string[] Split(char[] separator, int count)
- public string[] Split(char[] separator, StringSplitOptions options)
- public string[] Split(string[] separator, StringSplitOptions options)
- public string[] Split(char[] separator, int count, StringSplitOptions options)
- public string[] Split(string[] separator, int count, StringSplitOptions options)
以下是重载函数的详细说明和示例:
1. public string[] Split(params char[] separator)
这个重载函数接受作为参数的字符数组,用于指定要在哪些字符处进行分割。
string input = "apple,banana,cherry";
char[] separators = { ',' };
string[] result = input.Split(separators);
// 结果数组: ["apple", "banana", "cherry"]
2. public string[] Split(char[] separator, int count)
这个重载函数除了接受分隔符字符数组外,还接受一个整数参数,用于限制分割的次数。
string input = "apple,banana,cherry";
char[] separators = { ',' };
int count = 2;
string[] result = input.Split(separators, count);
// 结果数组: ["apple", "banana,cherry"]
1和2的区别是,添加了一个整数,用于限制分割次数
3. public string[] Split(char[] separator, StringSplitOptions options)
现在我们想以连字符 (-
) 和句点 (.
) 来拆分这个字符串,input 里每个字符都被当作单独的分隔符来处理。
string input = "apple-pear.banana";
char[] separators = new char[] { '-', '.' };
StringSplitOptions options = StringSplitOptions.None;
string[] result = input.Split(separators, options);
// 结果数组: ["apple", "pear", "banana"]
4. public string[] Split(string[] separator, StringSplitOptions options)
假设我们使用一个字符串数组作为分隔符,并且我们的分隔符是由两个字符组成的字符串。整个字符串 “-p” 被视为一个单一的分隔符,它在原字符串中出现一次,将 “apple” 和 “ear.banana” 分隔开来。注意,字符 ‘.’ 并没有作为分隔符,因为它不是分隔符数组中的一个元素。
string input = "apple-pear.banana";
string[] stringSeparators = new string[] { "-p" };
StringSplitOptions options = StringSplitOptions.None;
string[] result = input.Split(separators, options);
// 结果数组: ["apple", "ear.banana"]
3和4关键的不同在于 char[]
将每个字符独立地视为分隔符,而 string[]
允许将多个字符组成的字符串整体作为单个分隔符。