2013-03-07 116 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