如何以char數組字符元素為標識,分割String字符并列示出來?
2024-07-21 02:23:34
供稿:網友
我們先來看看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數組中元素的字符都不會出現,因為它被用作分割標識符了.
至此,大家可能明白了字符的分割與數組的關系了,如果是,我就滿足了!