如何以Char数组字符元素为标识,分割String字符并列示出来?

王朝other·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

如何以Char数组字符元素为标识,分割String字符并列示出来?

作者:成都.张均洪

国庆节大家玩的高兴吧!节日期间,还好有时间去书店买了本新书看看,这本书叫<<C#设计模式>>,其中有节叫”分析字符串的类”,对其所提供的方法对于一些高手来说也许算不了什么,可对于象我这样的新手来说真是受益不少啊,所以我提出了这个问题作为主题来讨论,也让大家分享一下.

我们先来看看ToCharArray()和Split()这两个方法,因为它与本问题相关.

先看ToCharArray()方法,它是将此实例中的字符复制到 Unicode 字符数组,它属于String类的方法,能够把字符串返向转换为一个字符数组,比如:

string str=”this is”;

Char[] arr;

arr=str.ToCharArray();//把"this is string”以单个字符分开,成为Char数组的元素

如果我们要输出看一下(假设有个listBox控件)方法如下:

foreach(char[] c in arr)

{

Listbox1.Items.Add(c.ToString());

}

的结果是这样的:

T

H

I

S

I

S

看看这个结果,可以明白包括空格在内都被分开成了char数组的元素.

我们再来看看Split()方法:

Split()方法是标识此实例中的子字符串(它们由数组中指定的一个或多个字符进行分隔),然后将这些子字符串放入一个 String 数组中。

它有两个重载版本:

public string[] Split(params char[]);

public string[] Split(char[], int);

我们讲第一个版本,后一个版本在MSDN中有解释.

它的参数是一个Char[]数组,也就是以Char[]中的元素作为分割的标识,分割后的结果存入string[]数组中,我们来举个例:

String strA=”what is this?,oh,orange!”;

String[] arStr;

arStr=strA.Split(str.ToCharArray());//str是我们前面定义了的”this is”

这时arStr[]数组中的元素就是由str中的7个字符为标识分割strA字符后产生的元素

我们来看一下结果如例:

Foreach(string cc in arStr)

{

ListBox1.Items.Add(cc.ToString());

}

结果就是:

Wa

?,o

,orange!

string[]数组arStr中凡是有arr数组中元素的字符都不会出现,因为它被用作分割标识符了.

至此,大家可能明白了字符的分割与数组的关系了,如果是,我就满足了!

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航