2016-11-16 84 views
-3

我还挺停留在那一刻,我有一个数字,我动态地从数据库中获取他们的字符串,数字的范围可以是1畅想,像这样1:如何通过分割字符串来创建字符串数组?

string str = "10000,68866225,77885525,3,787"; 

我需要从它创建一个数组,我已经试过这样:

string[] strArr = { str.Replace(",", "").Split(',') }; 

但它不工作的任何人有任何解决方案,我是所有我们的。基本上它需要是这样的:

string[] strArr = { "10000","68866225","77885525","3","787" }; 
+4

'var strArr =“10000,68866225,77885525,3,787”.Split(',');' – Phylogenesis

+1

您是第一次删除逗号,然后尝试拆分它? –

+0

这个问题显示没有任何形式的研究努力,我会建议研究一下MSDN的C#字符串操作,以获得有关编程的想法。 – diynevala

回答

1

您参加:

string[] strArr = { str.Replace(",", "").Split(',') }; 

代码不起作用,因为两个错误:

1)你移除所有,,被拆分之前:

str.Replace(",", "") 

所以基本上你试图分割这个字符串:"1000068866225778855253787"在每个,,这将导致一个数组连续因为显然没有,分裂,因此只有"1000068866225778855253787"

2)您试图将数组分配给一个字符串,因为Split()方法已经返回一个数组,你正试图把这个数组的string[]场(因为在你分配的{ })和场string[]是字符串类型,不是数组。


为了让您期望的输出,你必须做.Split(',')原始的字符串,其中包括在其上分裂的所有,。所以,只是删除通话Replace(),你会得到你想要的输出:

var str = "10000,68866225,77885525,3,787"; 
var strArr = str.Split(','); 
0

尝试这种情况:

string[] strArr = str.Split(','); 
+0

嘿谢谢你的回答,我想知道如果我有一个号码回来?像这样 - string str =“1”;它是否也返回一个数组? – SmackDat

+1

@SmackDat是的,你将有一个数组只有一个元素是''1'' – meJustAndrew

0

split方法已经返回一个数组。把它从花括号里拿出来。

string[] strArr = str.Split(','); 

编辑:对不起忘记取出.replace()

0

方法string.Split()已经返回一个数组。

0
string[] strArr =yourstring.Split(','); 

这将返回可能的分裂次数的阵列,例如 “10000,68866225,77885525,3,787”将给阵列大小为4.