Я использую 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]; }
В чем проблема?
Вы сказали от начала до первого пробела, но это не то, что, похоже, делает ваша программа. это:
String^ ns = gcnew String("Hello world!"); int temp1 = ns->IndexOf(" "); for (int i = 0; i < temp1; i++) { ns[&] = " "; }
что вы ищете?
Простое - лучшее.
string ns ="Hello world!"; int temp1 = ns.IndexOf(" ") + 1; ns = ns.Substring(temp1); //Console.WriteLine(ns);
Почему бы вам не посчитать, где находится первый пробел, а затем использовать эту функцию?
str = str->Remove( CoordsStart , CoordsEnd-CoordsStart );