當前位置:成語大全網 - 書法字典 - C#拆分字符串

C#拆分字符串

為字符串提供了拆分方法。字符串。Splitchar[] a),其中a是拆分的標識。在妳的例子中,“aa/bb/cc/DD”的結果。拆分(“/”)。Tochararray())是包含“aa”、“bb”、“cc”、“DD”的字符串數組。

線..::.拆分方法(數組

更新時間:2007年6月165438+10月

返回的字符串數組包含此實例中的子字符串,由指定的Unicode字符數組的元素分隔。

命名空間:系統

裝配:mscorlib(在mscorlib.dll)

語法

Visual Basic(聲明)

公共函數拆分(_

ParamArray分隔符作為Char() _

)作為字符串()

Visual Basic(用法)

將實例標註為字符串

將分隔符顯示為字符()

Dim返回值為字符串()

returnValue =實例。拆分(分隔符)

C#

公共字符串[]拆分(

params char[]分隔符

)

Visual C++

公共:

數組& ltstring^>;^斯普利特(

...數組& ltwchar _ t & gt分離器

)

J#

公共字符串[]拆分(

char[]分隔符

)

JScript

公共功能拆分(

...分隔符:字符[]

) :字符串[]

參數

分離器

類型:數組

在此實例中分隔子字符串的Unicode字符數組、沒有分隔符的空數組或nullNothingnullptrnull引用(在Visual Basic中為Nothing)。

返回值

類型:數組

壹個數組,其元素在此實例中包含由分隔符中的壹個或多個字符分隔的子字符串。有關更多信息,請參見備註部分。

評論

返回的數組元素不包含分隔符。

如果此實例在分隔符中不包含任何字符,則返回的數組由包含此實例的單個元素組成。

如果separator參數是nullNothingnullptrnull引用(在Visual Basic中為Nothing)或不包含任何字符,則使用空白字符作為分隔符。下表列出了Split方法識別的空白字符。(它們與字符串識別的空白字符略有不同..::.修剪方法。)

Unicode名稱

Unicode碼位

評論

字符列表

U+0009

換行

U+000A

線條制表

U+000B

換頁

U+000C

回車

U+000D

空間

U+0020

下壹行

U+0085

在中介紹。NET Framework版。

不間斷空格

U+00A0

奧格姆空間標記

U+1680

EN QUAD

U+2000

EM四邊形

U+2001

EN空間

U+2002

EM空間

U+2003

每EM三個空間

U+2004

每EM四個空間

U+2005

每EM六個空間

U+2006

圖形空間

U+2007

標點空格

U+2008

薄空間

U+2009

最小間隔

U+200A

零寬度空間

U+200B

只有。NET Framework版本1.0和1.1。

行分隔符

U+2028

段落分隔符

U+2029

表意空間

U+3000

分隔符的每個元素定義壹個單獨的分隔符。如果兩個分隔符相鄰,或者在此實例的開頭或結尾找到壹個分隔符,則相應的數組元素包含空。

例如:

字符串值

分離器

返回的數組

"42, 12, 19"

new Char[] { ',',' ' } (C#)

Char() = {、" c "、" c}) (Visual Basic)

{"42", "", "12", "", "19"}

"42..12..19"

新字符[] { ' . '} (C#)

Char() = { . "c} (Visual Basic)

{"42", "", "12", "", "19"}

“香蕉”

新字符[] { ' . '} (C#)

Char() = { . "c} (Visual Basic)

{“香蕉”}

" Darb\nSmarba" (C#)

Darb & amp;vbLf & amp“smar ba”(Visual Basic)

new Char[] {} (C#)

Char() = {} (Visual Basic)

{"Darb "," Smarba"}

" Darb\nSmarba" (C#)

Darb & amp;vbLf & amp“smar ba”(Visual Basic)

null (C#)

無(Visual Basic)

{"Darb "," Smarba"}

性能考慮因素

Split方法為返回的數組對象分配內存,還為每個數組元素分配壹個String對象。如果您的應用程序需要最佳性能,或者如果內存分配管理在您的應用程序中至關重要,請考慮使用IndexOf或IndexOfAny方法,或者您可以選擇使用Compare方法來定位字符串中的子字符串。

如果在分隔符處拆分字符串,請使用IndexOf或IndexOfAny方法在字符串中定位分隔符。如果在分隔符字符串處拆分字符串,請使用IndexOf或IndexOfAny方法定位分隔符字符串的第壹個字符。然後使用Compare方法確定第壹個字符之後的字符是否等於分隔符字符串的其余部分。

此外,如果在多個拆分方法調用中使用相同的字符集來拆分字符串,請考慮創建壹個數組並在每個方法調用中引用它。這可以大大減少每個方法調用的額外系統開銷。

例子

以下示例顯示了如何通過將空格和標點符號視為分隔符來提取文本塊中的單個單詞。傳遞給字符串..::.拆分(數組

Visual Basic復制代碼

公共類分裂測試

公共共享子幹線()

Dim words As String = "這是壹個單詞列表,帶有:壹點標點符號。"

Dim split As String() = words。Split(New [Char]() {" "c,"," c," "c,":" c})

對於split中的每個字符串

if s . Trim()& lt;& gt”“那麽

控制臺。寫線

如果…就會結束

下壹個s

結束Sub '主

“結束類”分裂測試

該示例向控制臺顯示以下輸出:

a

目錄

關於

隨著

a

少量

關於

標點

C#復制代碼

使用系統;

公共類SplitTest {

公共靜態void Main() {

string words = "這是壹個單詞列表,帶有:壹點標點符號。";

string [] split =單詞。Split(new Char [] { ' ',',','.', ':'});

foreach(拆分的字符串){

if (s.Trim()!= "")

控制臺。寫線;

}

}

}

//該示例向控制臺顯示以下輸出:

//這個

//是

// a

//列表

//的

//單詞

//與

// a

//位

//的

//標點符號

Visual C++復制代碼

使用命名空間系統;

使用命名空間System::Collections;

int main()

{

String^單詞=“這是壹個單詞列表,帶有:壹點標點符號。”;

數組& ltChar & gt^chars = { ' ',',','-& gt;',':'};

數組& ltstring^>;^split = words-& gt;拆分(字符);

ienumerator^·梅耶姆=斯普利特-& gt;get enumerator();

while(myEnum-& gt;MoveNext())

{

string^ s = safe _ cast & lt;string^>;(myEnum-& gt;當前);

如果(!s-& gt;trim()-& gt;等於( "" )

控制臺::WriteLine

}

}

//該示例向控制臺顯示以下輸出:

//這個

//是

// a

//列表

//的

//單詞

//與

// a

//位

//的

//標點符號

J#復制代碼

導入系統。*;

公共類分裂測試

{

公共靜態void main(String[] args)

{

String words = "這是壹個單詞列表,帶有:壹點標點符號。";

字符串拆分[] =單詞。Split(new char[] { ' ',',','.', ':' });

for(int iCtr = 0;iCtr & ltsplit . get _ Length();iCtr++) {

String s =(String)split . get _ Item(iCtr);

如果(!(s.Trim()。等於(" ")){

控制臺。寫線;

}

}

} //main

}

//該示例向控制臺顯示以下輸出:

//這個

//是

// a

//列表

//的

//單詞

//與

// a

//位

//的

//標點符號

JScript復制代碼

進口系統;

公共類SplitTest {

公共靜態函數Main() : void {

var words : String = "這是壹個單詞列表,帶有:壹點標點符號。";

變量分隔符:char[] = [' ',',','.', ':'];

var split : String [] = words。拆分(分隔符);

for (var i : int in split) {

var s:String = split[I];

if (s.Trim()!= "")

控制臺。寫線;

}

}

}

SplitTestmain();

//該示例向控制臺顯示以下輸出:

//這個

//是

// a

//列表

//的

//單詞

//與

// a

//位

//的

//標點符號

平臺

Windows Vista、Windows XP SP2、Windows XP Media Center Edition、Windows XP Professional x64 Edition、Windows XP Starter Edition、Windows Server 2003、Windows Server 2000 SP4、Windows Millennium Edition、Windows 98、Windows CE、Windows Mobile for Smartphone、Windows Mobile for Pocket PC、Xbox 360

的。NET框架和。NET Compact Framework不支持每個平臺的所有版本。有關受支持版本的列表,請參見。NET框架系統要求。

版本信息

。NET框架

受以下版本支持:3.5、3.0、2.0、1.1和1.0。

。NET框架精簡版

受以下版本支持:3.5、2.0、1.0

XNA框架

受以下版本支持:2.0、1.0