C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Разбивка одной строки на две подстроки, Как в РНР-ской explode()
Allin
Отправлено: 02.03.2006, 22:43


Дежурный стрелочник

Группа: Участник
Сообщений: 31



Ребята, замучался уже совсем. Подскажите пожалуйста. Вот в РНР есть такая функция explode(). Берётся строка одна большая. В строке где-то подстрока.

"Большая очень — при очень строка". Её нужно разбить на две строки подстрокой, скажем, " — при ". И в результате чтобы получилось две новые строки:

str1="Большая очень"
str2="очень строка"

Всякие справки перекопал, найти ничего не могу. А для кого-то ведь это пару минут займёт.
Grigoriy
Отправлено: 02.03.2006, 23:27


Мастер участка

Группа: Участник
Сообщений: 381



Функция возвращает в ссылках str1 и str2 две подстроки строки str, если подстрока sub1 имеется в str, разделённые подстрокой sub1.
CODE

void DivideAnsiStringasubstringom(AnsiString &str1, AnsiString &str2, AnsiString str, AnsiString sub1)
{
int h,h1;
if (!(h=str.Pos(sub1))) {str1="";str2="";return;};
h1=sub1.Length();
str1=str.SubString(1,h-1);
str2=str.SubString(h+h1,str.Length()-h-h1+1);
};
Allin
Отправлено: 02.03.2006, 23:35


Дежурный стрелочник

Группа: Участник
Сообщений: 31



Огромная благодарность вам, Григорий.

Вернуться в Вопросы программирования в C++Builder