![]() |
|
|
#1
|
||||
|
||||
|
Блин я туплю и никак не могу придумать красивого способа это сделать:
есть текст с заголовками: Код:
08 АОК Автоматизация начальной стадии .............. ...бла бла бла.. ............. надо получить : Код:
08 АОК Автоматизация начальной стадии причем количество сток которое занимает данный заголовок я не знаю, т.е. я знаю заголовок одной строкой, а в тексте он может быть разбит на несколько строк |
|
#2
|
||||
|
||||
|
а можешь выложить полный кусок текста? телепатические способности при зачатии не появились
![]() |
|
#3
|
||||
|
||||
|
Думаю можно так - поместить текст в Мemo или ListBox, а потом
Код:
Stroka:=Listbox1.Items.string[0]+' '+Listbox1.Items.string[1]+' ' |
|
#4
|
||||
|
||||
|
Маловато информации. Что является критерием окончания заголовка? Точка или какой-то другой символ?
|
|
#5
|
||||
|
||||
|
Код:
0AA ТЕХНИЧЕСКОЕ ОБСЛУЖИВАНИЕ 35 OO ЭКСПЛ. АВТОМОБИЛЬ 1,0 (UNIQUEMENT PAYS CONCERNES, VOIR CARNET D'ENTRETIEN) ВКЛЮЧАЯ ПРОВЕРКА УРОВНЯ МОТОРНОЕ МАСЛО, СЛИВ МАСЛА МОТОРНОЕ МАСЛО, ЗАМЕНА МАСЛЯНЫЙ ФИЛЬТР, ПРОВЕРКА: АККУМУЛЯТОРНАЯ БАТАРЕЯ, ПРОВЕРКА: ЛАМПА ФАРЫ, ПРОВЕРКА: ЛАМПА ЗАДНЕГО ФОНАРЯ, ПРОВЕРКА: ДАВЛЕНИЕ ВОЗДУХА В ШИНЕ. НЕ ВКЛЮЧАЯ ЗАМЕНА СВЕЧА ЗАЖИГАНИЯ, ЗАМЕНА ВОЗДУШНЫЙ ФИЛЬТР, ЗАМЕНА ТОПЛИВНЫЙ ФИЛЬТР. 5-ДВЕРНЫЙ ХЭТЧБЕК ИЛИ КУПЕ СЕМЕЙСТВО X84 ИЛИ КАБРИОЛЕТ ИЛИ ГРУЗОПАССАЖИРСКИЙ АВТОМОБИЛЬ СЕМЕЙСТВО X84 3-ДВЕРНЫЙ ИЛИ УНИВЕРСАЛ ИЛИ СЕДАН 0A ПРОЧЕЕ ОБСЛУЖИВАНИЕ 0326 ПРОВ. СИС.СНИЖЕНИЯ ТОКС. H 0,7 5-ДВЕРНЫЙ ХЭТЧБЕК ИЛИ КУПЕ СЕМЕЙСТВО X84 ИЛИ КАБРИОЛЕТ ИЛИ ГРУЗОПАССАЖИРСКИЙ АВТОМОБИЛЬ СЕМЕЙСТВО X84 3-ДВЕРНЫЙ ИЛИ УНИВЕРСАЛ ИЛИ СЕДАН ИЛИ ГРУЗОПАССАЖИРСКИЙ АВТОМОБИЛЬ X84 И ДВИГАТЕЛЬ F4R ИЛИ ДВИГАТЕЛЬ K4J ИЛИ ДВИГАТЕЛЬ K4M 0327 ПРОВ. СИС.СНИЖЕНИЯ ТОКС. H 0,5 5-ДВЕРНЫЙ ХЭТЧБЕК ИЛИ КУПЕ СЕМЕЙСТВО X84 ИЛИ КАБРИОЛЕТ ИЛИ ГРУЗОПАССАЖИРСКИЙ АВТОМОБИЛЬ СЕМЕЙСТВО X84 3-ДВЕРНЫЙ ИЛИ УНИВЕРСАЛ ИЛИ СЕДАН ИЛИ ГРУЗОПАССАЖИРСКИЙ АВТОМОБИЛЬ X84 И ДВИГАТЕЛЬ F9Q ИЛИ ДВИГАТЕЛЬ K9K ИЛИ ДВИГАТЕЛЬ M9R заголовок выделен жирным, никаких знаков окончания нету количестко строк неизвестно |
|
#6
|
||||
|
||||
|
Ну как видно из текста, надо искать в тексте "0A", и пока не встретиться любая цифра записывать то, что вам надо, т.к.:
0A ПРОЧЕЕ ОБСЛУЖИВАНИЕ 0326 Соответственно, то что тебе надо можно взять примерно так: Код:
s:='';
b:=false;
for i:=1 to Length(text)-1 do
if(Copy(text, i, 2) = '0A') then
b:=true;
if(StrToIntDef(text[i], -1) in 0..9) then
b:=false;
if(b) then
s:=s+text[i];Может можно легче, но то, что пришло первым в голову ![]() Если что не понятно - спрашивай ![]() |