一聚教程网:一个值得你收藏的教程网站

热门教程

c++ Split 分隔符切割字符串

时间:2022-06-25 04:05:11 编辑:袖梨 来源:一聚教程网

分割符可以是以下几种形式中的一种:
  • 只有一个字符的数组:
    • 比方对于“A,B,C,D,E,F” 可以使用 ‘,’ 或者 new [] { ‘,’ } 
  • 有多个字符的数组:
    • 比方对于“A,B-C,D*E,F”使用 new [] { ‘,’ ‘-‘ ‘*’ } :
  • 只有一个字符串的数组:
    • 比方对于 “A=>B=>C=>D=>E=>F” new [] { “=>” }
  • 有多个字符串的数组 :
    • 比方对于 “A=>B<=C=>D<=E=>F”使用 new [] { “=>”, “<=” }
让我们在实例中看看:
 
string testString = "James Hare,1001 Broadway Ave,St. Louis,MO,63101";
//传递的分割可以是一个数组
string[] results = testString.Split(new[] { ',' });
//或者在asp教程.net 4.0 下传递单独的一个char
results = testString.Split(',');
得到的结果如下
ScreenShot022 
 
对待同样的字符串,我们使用 ‘,’ 和 ‘ ‘ (空格):
 
string testString = "James Hare,1001 Broadway Ave,St. Louis,MO,63101";
//传递一个数组作为分割的标记
string[] results = testString.Split(new[] { ',', ' ' });
//或者在4.0 下可以直接这样传递
results = testString.Split(',', ' ');
得到下面的结果:
ScreenShot023
 
使用 string 作为分割符用法是基本一样的:
string testString = "James Hare,,1001 Broadway Ave,St. Louis,MO,63101";
string[] results = testString.Split(new[] { ",," }, StringSplitOptions.None);
结果:
ScreenShot024
 
注意在这里我们必须要提供一个 StringSplitOptions 的选择. 
 
这个枚举的类型有两个值:
  • StringSplitOptions.None: 包含返回的数组中的空数组元素.
  • StringSplitOptions.RemoveEmptyEntries:  省略返回的数组中的空数组元素.
 
最后, Split() 有一个形式是让你可以限制返回数组元素数量的. 在这种情况下,前面 n-1 的 元素基于你的条件生成,最后一个则是剩下的没有被分割的部分:

string testString = "James Hare,,1001 Broadway Ave,,,St. Louis,MO,63101";


//返回含有两个元素的数组.

string[] results = testString.Split(new[] { ',' }, 2, StringSplitOptions.None);


for (int i = 0; i < results.Length; i++)
{
Console.WriteLine("tElement {0}: "{1}"", i, results[i]);
}
使用限制数量的结果是:
ScreenShot025

热门栏目