对String.Split()的相关思考

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个重载函数:

  1. public string[] Split(params char[] separator)
  2. public string[] Split(char[] separator, int count)
  1. public string[] Split(char[] separator, StringSplitOptions options)
  2. public string[] Split(string[] separator, StringSplitOptions options)
  3. public string[] Split(char[] separator, int count, StringSplitOptions options)
  4. 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[] 允许将多个字符组成的字符串整体作为单个分隔符。

  • 30
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值