Обрезка строки - PullRequest
       8

Обрезка строки

0 голосов
/ 08 ноября 2011

Я использую Windows 7 и Visual C ++. У меня есть консольная программа, и я пытаюсь обрезать строку в начале и в конце. TrimLeft() и TrimRight() не работают без MFC. Вот что у меня есть.

pBrowser->get_LocationURL(&bstr);
wprintf(L"  URL: %s\n\n", bstr);
SysFreeString(bstr);

std::wstring s;
s = bstr;
s.TrimStart("http://");
s.TrimEnd("/*");
wprintf(L"  URL: %s\n\n", s);

Я пытаюсь уйти от этого:

"http://www.stackoverflow.com/questions/ask"

к этому:

"www.stackoverflow.com"

Ответы [ 2 ]

4 голосов
/ 08 ноября 2011

TrimStart / End обычно возвращают значение, поэтому вам придется установить 's' равным значению s.TrimStart () и s.TrimEnd () соответственно.

попробовать,

s = s.TrimStart("http://");
s = s.TrimEnd("/*");
1 голос
/ 08 ноября 2011

Вы должны последовательно использовать find / rfind (найти справа - найти справа) и substr (подстрока), чтобы сделать то, что вам нужно. 1) Найдите индекс первого паттерна (например, http://) с помощью find - вы уже знаете его длину, добавьте его к стартовому индексу в качестве оригинала вашей обрезанной строки 2) Найти последний индекс шаблона окончания с помощью команды find

3) Создайте подстроку от начала до конца, используя substr

Все эти методы находятся в std :: string

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...