Как мне преобразовать строку в массив? - PullRequest
4 голосов
/ 27 апреля 2011

У меня есть такая строка string strings=" black door,white door,red door "
Теперь я хочу поместить эту строку в массив.
Я использую split myarray = strings.split(','), тогда массив будет выглядеть так: black,door,white,door,red,door.

Я хочу помещать строку в массив после каждого появления запятой, а не в пробеле.Я хочу это так в массиве: black door,white door,red door.

Ответы [ 7 ]

11 голосов
/ 27 апреля 2011

если у вас есть строка "черная дверь, белая дверь, красная дверь", используйте только , в качестве разделителя

var result = "black door,white door,red door".Split(',');

enter image description here

7 голосов
/ 27 апреля 2011

используйте разделение следующим образом

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

Он будет разделен только на пробел, а не на пробел и должен дать ожидаемый результат.

4 голосов
/ 27 апреля 2011

используйте ',' в качестве разделителя:

s.Split(',');
3 голосов
/ 27 апреля 2011

Вам нужно:

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

ToArray () не требуется.

1 голос
/ 27 апреля 2011
string s = "black door,white door,red door";
string[] sarr;
sarr = s.Split(',');
0 голосов
/ 27 апреля 2011

Не могли бы вы опубликовать свой собственный код в полном объеме? Кажется, мы все согласны с тем, что это правильный способ сделать это.

Вы пробовали перебирать массив и распечатывать значения?

string strings = "black door,white door,red door";
string[] myarray = strings.Split(',');
foreach (string temp in myarray)
{
    MessageBox.Show(temp);
}
0 голосов
/ 27 апреля 2011

Попробуйте это:

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