Как мне удалить часть строки от начала до первого пробела?

Я использую C++ / CLI и долгое время пытался удалить часть строки от начала до первого пробела.

Мой код, который не работает:

String^ ns = gcnew String("Hello world!");
int temp1 = ns->IndexOf(" ");
int temp2 = ns->Length;
for (int i =temp1 +1; i < temp2; i++) {
    ns+= ns[i];
}

В чем проблема?

Также подумайте немного о том, что делает оператор +=.

Some programmer dude 10.09.2018 10:44
0
1
82
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Ответ принят как подходящий

Почему бы вам не посчитать, где находится первый пробел, а затем использовать эту функцию?

str = str->Remove( CoordsStart , CoordsEnd-CoordsStart );

Вы сказали от начала до первого пробела, но, похоже, ваша программа делает это не так. является :

String^ ns = gcnew String("Hello world!");
int temp1 = ns->IndexOf(" ");
for (int i = 0; i < temp1; i++) {
    ns[&] = " ";
}

что ты ищешь?

Это удаляет часть строки от начала до первого пробела, программа верна.

user9277191 10.09.2018 10:49

Лучше просто.

string ns ="Hello world!";
int temp1 = ns.IndexOf(" ") + 1;
ns = ns.Substring(temp1);
//Console.WriteLine(ns);

Это не просто string, это String^

user9277191 10.09.2018 11:05

Другие вопросы по теме