Как обрезать строку?

Мир Ардуинщиков
Offline
Зарегистрирован: 18.05.2020

Всем привет, друзья! Мне нужно сделать код, который обрезает строку до определённого символа, например была строка "Hello World!", а получилась "World", то есть мы обрезали строку до буквы 'W'. Кто знает как это можно сделать? Буду рад вашим подсказкам :-)

 

b707
Offline
Зарегистрирован: 26.05.2017

а место "обрезания" как определяется? - позицией строки или определенным символом?

Мир Ардуинщиков
Offline
Зарегистрирован: 18.05.2020

Место обрезания определяется определённым символом с помощью команды indexOf() или lastIndexOf(). Например, мы находим индекс буквы 'W' и обрезаем все буквы до этого символа.  

b707
Offline
Зарегистрирован: 26.05.2017

смотрите описание String.remove()

 

Мир Ардуинщиков
Offline
Зарегистрирован: 18.05.2020

Спасибо, только вот когда я пытаюсь использовать функцию remove(), то у меня появляется ошибка: no match for 'operator=' (operand types are 'String' and 'void'). Вот код который я использовал:

String MyStr = "Hello World";
unsigned int myindex;

void setup() {
   Serial.begin(115200);
}

void loop() {
   myindex = MyStr.indexOf('W');
   MyStr = MyStr.remove(0, myindex);
   Serial.print("Переменная MyStr: ");
   Serial.println(MyStr);
}

 

b707
Offline
Зарегистрирован: 26.05.2017

вместо

MyStr = MyStr.remove(0, myindex);

надо писать

MyStr.remove(0, myindex);

Книжку какую-нить почитай, что такое классы и что такое методы

Мир Ардуинщиков
Offline
Зарегистрирован: 18.05.2020

Спасибо, всё работает!