線..::.拆分方法(數組
更新時間: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