Разбор строки, содержащей два Апостроф

string test = «F’XSXESS ‘»;

Как мне разобраться с F’XSXESS ‘, чтобы он захватывал информацию внутри апострофов (XSXESS)?

Выход должен быть XSXESS.

Есть идеи, как мне это сделать?

Спасибо за любую помощь, которую вы можете предоставить!

-1

Решение

То, что вы в основном хотите сделать, это перебрать все символы в строке и переключить состояние анализа при определенных событиях (в вашем случае встреча с \').
Вот небольшой пример:

int main() {
std::string test = "FFF'XSXSXSX'FFFFF";

std::string result;
bool state = 0;
for(int i = 0; i < test.length(); i++) {
if(test.at(i) == '\'') {
state = !state;
continue;
}
if(state)
result.push_back(test.at(i));
}
std::cout << result << std::endl;
return 0;
}

Ради простоты я выбрал bool для описания моего текущего состояния. Этот код, вероятно, все еще не лучшее решение, потому что это также будет анализировать FF'XX'FFFF'CC' в FFCC, Вы можете решить эту проблему, добавив состояние «exit», которое указывает на завершение процесса анализа.
Надеюсь, я смогу помочь.

0

Другие решения


По вопросам рекламы ammmcru@yandex.ru
Adblock
detector