2017-08-21 196 views
-4

我有一個字符串"[2030,2031,2032,2033,2034]",我想將它轉換成一個數組。C# - 字符串到數組

我已經嘗試過這樣的:

Array t = teamMembers.Select(c => c.ToString()).ToArray(); 

但它只是把所有的字符的字符串。

我該怎麼做?

+8

刪除'',''''上的'['和']','.Split''(然後如果你想要整數,那麼'Int32.Parse')? – crashmstr

+0

使用[String.Split](https://msdn.microsoft.com/en-us/library/system.string.split(v = vs.110).aspx)方法。使用逗號和方括號作爲分隔符。 –

+0

也想要注意,這看起來像一個JSON數組。如果是這樣,他可能應該使用Json.Net。 – Dispersia

回答

3

如果你想串...

var t = teamMembers.Trim('[', ']').Split(','); 

如果你想整數...

var ret = teamMembers.Trim('[', ']').Split(',').Select(int.Parse).ToArray(); 
0
var input = "[2030,2031,2032,2033,2034]"; 
var output = input.Replace("[", string.Empty).Replace("]", string.Empty).Split(','); 
0

就分割字符串,它會被轉換爲陣列。

var teamMembers ="[2030,2031,2032,2033,2034]"; 

    var t = teamMembers.Trim('[', ']').Split(','); 

https://dotnetfiddle.net/hsMrDh

另一種方式是

 var t1 = teamMembers.Replace("[","").Replace("]","").Split(','); 
2

你可以用很多方法,你可以先修剪或其他建議,或使用String.Split超載,這需要char[],可以去除空的條目,讓你完全想要什麼。如果您想要int陣列,則可以將其解析爲int

var intArray = teamMembers 
        .Split(new[] { '[', ']', ',' }, StringSplitOptions.RemoveEmptyEntries) 
        .Select(int.Parse); 
0

只是刪除 「[]」 使用以下代碼 teamMembers.Trim( '[', ']'); 並用「,」分隔符 teamMembers.Trim('[',']')。split(',');