2013-03-07 113 views
-2

如果我有一個字符串,我知道會是這樣的格式:打破字符串成多個字符串在某個符號

string teststring = "test1;#test2;#test3;#"; 

,我想會自動把它變成:

string string1 = "test1"; 
string string2 = "test2"; 
string string3 = "test3"; 

什麼是設置這個最好的方法?

+3

你看過[Split()方法](http://msdn.microsoft.com/en-us/library/b873y76a.aspx)嗎? – Brian 2013-03-07 16:48:30

回答

8

使用String.Split

string[] parts = teststring.Split(
    new string[] { ";#" }, 
    StringSplitOptions.RemoveEmptyEntries); 
+3

這不會導致類似'test1,#test2,#test3'等數組嗎? – DGibbs 2013-03-07 16:50:36

+0

@DGibbs修復它。 – 2013-03-07 16:51:15

+0

更好..;)+ 1 – DGibbs 2013-03-07 16:51:40

3

使用字符串分割:

sting[] myStrings = teststring.Split(new string[] {";#"}, , StringSplitOptions.RemoveEmptyEntries); 
foreach(string piece in myStrings) 
{ 
    //Do whatever you want. 
} 
+0

如果我不知道弦會持續多久會怎樣?它可能只是一個部分或許多部分。 – proseidon 2013-03-07 16:49:35

+0

看看我的更新,如果你想對每一個字符串做一些事情。 – 2013-03-07 16:51:04

0

分割字符串到一個數組:

string[] = teststring.Split("#"); 
+1

我認爲你的意思是'teststring.Split(「;#」);' – 2013-03-07 16:51:14

2

拆分串入基於所述陣列 ';#' 字符。從MSDN

string[] parts = teststring.Split(";#") 
parts[0]; // string1. 
parts[1]; // string2. 
parts[2]; // string3. 
0
var strings = teststring.Split(new String[]){";#"}, StringSplitOptions.RemoveEmptyEntries); 
0

塗改代碼中發現的:http://msdn.microsoft.com/en-us/library/b873y76a.aspx

using System; 

public class SplitTest { 
public static void Main() { 

    string teststring = "test1;#test2;#test3;#"; 

    string [] split = teststring.Split(new Char []{';','#'},StringSplitOptions.RemoveEmptyEntries); 

    var SplitStringList = new Dictionary<String, String>(); 


    for (int i=0;i<split.Length;i++) 
    { 

     if (split[i].Trim() != "") 
     { 
      SplitStringList.Add("string"+1, split[i]); 
     } 


    } 
    } 
} 

現在你可以用這種方式給定的字符串鍵的字符串值:

String Anything = SplitStringList["string1"]; 

該示例將以下字符串添加到Dictionary SplitStringList: 注:string1值:test1 鍵:字符串2值:TEST2
重點:STRING3值:TEST3

隨着配對鍵,這樣就可以更深入整個代碼的其餘部分,然後使用這些字符串。只需參考關鍵。

+0

你不需要'if(split [i] .Trim()!=「」)'因爲你'使用'StringSplitOptions.RemoveEmptyEntries'另外,您的'SplitStringList'可以通過在構造器中傳遞字符串數組來保存更多行代碼。 – 2013-03-07 17:12:56

+0

只是想向他展示他可以使用最終數組的其他方法。 – user2140261 2013-03-07 17:26:13