如何将字符串转换为数组?

4
我有一个字符串,像这样:string strings="黑门,白门,红门"
现在我想把这个字符串放入数组中。
我使用split myarray = strings.split(','),然后数组看起来像这样:黑门,白门,红门.
我想在每个逗号后将字符串放入数组中,而不是在空格上。我希望数组中的元素是这样的:黑门 白门 红门.

2
你要分割哪个字符?如果你是用逗号(,)来分割,那么你应该会得到你想要的结果。 - Cody Gray
你传递到Split方法中的字符是什么? - Mark Keats
7个回答

11
如果你有字符串 "black door,white door,red door",那么只使用逗号 , 作为分隔符。
var result = "black door,white door,red door".Split(',');

enter image description here


我想把这个放进数组里。 - safi
感谢简要概述,我已经明白了 :) - safi

7

使用split方法如下

var result = myString.Split(',');

它只会在逗号上分割,而不是空格,并且应该给您预期的结果。


我已经这样做了,但是数组在空格和逗号上分裂。 - safi
3
有趣的是,他们评论说这个方法不可行,但接受了一个建议完全相同的答案。难道真的是截图太有说服力了吗? - Cody Gray

4

使用“,”作为分隔符:

s.Split(',');

我已经这样做了,但是数组是按空格和逗号进行分割的。 - safi

3

您需要:

var array = input.Split(',');

ToArray()是不必要的。


@Flagbug:我同时也注意到了! - Jackson Pope

1
string s = "black door,white door,red door";
string[] sarr;
sarr = s.Split(',');

0

你能把你的代码完整地贴出来吗?我们都认为这是正确的做法。

你尝试过遍历数组并打印出值吗?

string strings = "black door,white door,red door";
string[] myarray = strings.Split(',');
foreach (string temp in myarray)
{
    MessageBox.Show(temp);
}

没关系,我看到Stecya发布了对你有用的东西。但只是因为我好奇,你弄清楚是什么原因导致问题了吗? - Lars Kristensen
Kristensen,实际问题是我做错了,比如说我使用的是strings.split(char[2],',')进行操作,只是为了避免空格而已,但其实我并不知道这样做是错误的。 :) - safi

-1

试试这个:

string input = "black door,white door,red door";
string[] values = input.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);

那是因为应该使用 ... new char[] ... 而不是 ... new char() ...(我已经更新了帖子)。你可以先尝试自己解决语法错误,而不是抱怨它不起作用;-) - volpav

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接