**如何以Char数组字符元素为标识,分割String字符并列示出来?
作者:成都.张均洪 **
国庆节大家玩的高兴吧 ! 节日期间 , 还好有时间去书店买了本新书看看 , 这本书叫 <
1<c# 设计模式="">>, 其中有节叫 ” 分析字符串的类 ”, 对其所提供的方法对于一些高手来说也许算不了什么,可对于象我这样的新手来说真是受益不少啊 , 所以我提出了这个问题作为主题来讨论 , 也让大家分享一下 .
2
3我们先来看看 ToCharArray() 和 Split() 这两个方法 , 因为它与本问题相关 .
4
5先看 ToCharArray() 方法,它是 将此实例中的字符复制到 Unicode 字符数组 ,它属于 String 类的方法,能够把字符串返向转换为一个字符数组,比如:
6
7string str=”this is”;
8
9Char[] arr;
10
11arr=str.ToCharArray();// 把" this is string” 以单个字符分开,成为 Char 数组的元素
12
13如果我们要输出看一下 ( 假设有个 list B ox 控件 ) 方法如下:
14
15foreach(char[] c in arr)
16
17{
18
19Listbox1.Items.Add(c.ToString());
20
21}
22
23的结果是这样的 :
24
25T
26
27H
28
29I
30
31S
32
33I
34
35S
36
37看看这个结果 , 可以明白包括空格在内都被分开成了 char 数组的元素 .
38
39我们再来看看 Split() 方法 :
40
41Split() 方法是 标识此实例中的子字符串(它们由数组中指定的一个或多个字符进行分隔),然后将这些子字符串放入一个 String 数组中。
42
43它有两个重载版本 :
44
45public string[] Split (params char[]);
46
47和
48
49public string[] Split (char[], int);
50
51我们讲第一个版本 , 后一个版本在MSDN中有解释.
52
53它的参数是一个 Char[] 数组 , 也就是以 Char[] 中的元素作为分割的标识 , 分割后的结果存入 string[] 数组中 , 我们来举个例 :
54
55String strA=”what is this?,oh,orange!”;
56
57String[] arStr;
58
59arStr=strA.Split(str.ToCharArray());//str 是我们前面定义了的 ”this is”
60
61这时 arStr[] 数组中的元素就是由 str 中的 7 个字符为标识分割 strA 字符后产生的元素
62
63我们来看一下结果如例 :
64
65Foreach(string cc in arStr)
66
67{
68
69List B ox1.Items.Add(cc.ToString());
70
71}
72
73结果就是 :
74
75Wa
76
77?,o
78
79,orange!
80
81string[] 数组 arStr 中凡是有 arr 数组中元素的字符都不会出现 , 因为它被用作分割标识符了 .
82
83至此,大家可能明白了字符的分割与数组的关系了,如果是,我就满足了!</c#>