C++Builder
  Начало   Форум   Помощь Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: Поиск подстроки  (Прочитано 2072 раз)
SilverFish
Участник
**

Сказали спасибо: +14/-6
Offline Offline

Сообщений: 789


« : 13 декабря 2016, 11:08:54 »

Допустим в программе есть строки:
Код:
http://cbuilder.ru/index.php/1/1
http://cbuilder.ru/index.php/1/2
http://cbuilder.ru/index.php/3/1
http://cbuilder.ru/index.php/3/10
http://cbuilder.ru/index.php/3/101
http://cbuilder.ru/index.php/42/8
***

Как правильнее всего прочитать последние цифры, разделенные слешом, в этих строках и получить такие строки:
11
12
31
310
3101
428
***

?
Записан
Valdemar
Давний друг
**

Сказали спасибо: +60/-4
Offline Offline

Сообщений: 285


« Ответ #1 : 13 декабря 2016, 13:10:25 »

Можно для анализа строки использовать регулярные выражения, например, такое
http:\/\/cbuilder\.ru\/index\.php\/(\d+)\/(\d+)
Записан
SilverFish
Участник
**

Сказали спасибо: +14/-6
Offline Offline

Сообщений: 789


« Ответ #2 : 13 декабря 2016, 15:58:54 »

Покажите, пожалуйста, фрагмент кода как работать с регулярными выражениями?
Записан
SilverFish
Участник
**

Сказали спасибо: +14/-6
Offline Offline

Сообщений: 789


« Ответ #3 : 30 декабря 2016, 10:08:04 »

Пока получился такой вариант:
Код
void __fastcall TForm1::Button2Click(TObject *Sender)
{
String Link = L"http://welcome.um.la/index.php/2/1";
String URLLink = Link + L".png"; //полная ссылка и попытка получить для теста: 21.png
TStringDynArray arr(SplitString(URLLink, "/"));
int j = arr.Length - 1;
if(j != 0)
  {
String Result = Trim(arr[j - 1] + arr[j]);
ShowMessage(Result); //<- 21.png
  }
 
}
 
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в: