Я новичок в WPF.
В моем приложении я хочу разбить строку по пробелу.
код:
string str = "Hi I am a string";
string[] strList=str.Split(' ');
MessageBox.show("Length: "+ strList.Length); //output: Length: 16
Я тоже пробовал
string str = "Hi I am a string";
char[] splitchar = { ' ' };
string[] strList=str.Split(splitchar);
MessageBox.show("Length: "+ strList.Length); //output: Length: 16
Я тоже пробовал
string str = "Hi I am a string";
string[] strList=str.Split();
MessageBox.show("Length: "+ strList.Length); //output: Length: 16
Но во всех случаях это длина печати: 16. Она должна напечатать 5.
Если я распечатаю значения strList, тогда он будет печатать h i i a m a s t r i n g
Пожалуйста, направь меня.
работает: dotnetfiddle.net/CJtVF4
Судя по всему, между буквами стоит пробел.
Помимо того, что метод называется .Split()
, а не .split()
, ваш код должен работать так, как задумано.
Я скопировал и вставил ваш код, и он работает, как ожидалось. В вашем реальном коде вы случайно не напечатали str.Length
? Это объясняет, почему вы получаете 16
...
Попробуйте удалить пространство, которое вы разделяете, и снова вставить его, если у вас есть что-то, что в вашей среде IDE или редакторе выглядит как пространство, но на самом деле является чем-то другим, тогда Split может вести себя странно.
just do like this
вы используете .split()
, но это .Split()
public static void Main()
{
string str = "Hi I am a string";
string[] strList=str.Split(' ');
Console.WriteLine("Length"+" "+strList.Length);
}
output is 5
ОП, почему вы приняли этот ответ? Это то же самое, что и ваш первый пример кода (за исключением исправленной опечатки).
.split()
не существует. Если бы OP использовал .split()
, вы бы получили сбой во время компиляции, а не рабочую программу с неожиданным выводом. ПримерДжон, почему ты сходишь с ума? Посмотри внимательно на его .Split (), а не .split ()
.split(' ')
со строчной буквой S кажется явной опечаткой в вопросе, а это означает, что ваш ответ, являющийся решением, не имеет никакого смысла. Я не «схожу с ума». Я говорю о смысле.
@ArunPratap - Джон делает это, потому что ответ не имеет смысла. Пиксель, это не может быть тот ответ, который вы ищете.
Ну не знаю. Либо у них есть собственный метод расширения строки под названием split
, который объясняет, почему ваше решение работает, либо они ошибочно приняли ваш ответ. В его нынешнем виде непонятно. Хотя, если бы у них был метод расширения под названием split
, я надеюсь, они это осознали.
@ArunPratap - Я не думаю, что вы можете удалить его сейчас, когда он был принят.
хорошо, @Enigmativity, спасибо, но я думаю, что мы также можем отметить вопросы?
Какой набор символов вы используете в своем проекте?