Форум: "Начинающим";
Текущий архив: 2008.08.17;
Скачать: [xml.tar.bz2];
ВнизКак разбить текст на строки? Найти похожие ветки
← →
ekto © (2008-07-11 13:11) [0]Есть текст: (х А х А х......)
где: х - любая последовательность слов
А - искомая последовательность слов (хранятся в БД).
Нужно разбить текст на строки вида: (х А х)
(А х)
... ,
т.е. находится нужная фраза и все последующие слова до следующей, формируется строка и т.д.
← →
Dennis I. Komarov © (2008-07-11 13:12) [1]POS + F1 Спасет отца русской демократии...
← →
ekto © (2008-07-11 13:19) [2]
> Dennis I. Komarov © (11.07.08 13:12) [1]
Забыл добавить "по-быстрее".
есть набор данных( в котором искомые фразы). Ну и как, по твоему должен выглядеть код?
while not q.Eof do
begin
MyPos := Pos(q.FieldByName("n").AsString, tmpText);
if MyPos <> 0 then
begin
StrArr[i] := ...
Inc(i)
...
end;
а, если в StrArr[i], окажется пропущенная фраза?
← →
Ega23 © (2008-07-11 13:22) [3]
> POS + F1 Спасет отца русской демократии...
И + COPY
← →
Dennis I. Komarov © (2008-07-11 13:23) [4]> [2] ekto © (11.07.08 13:19)
Бред какой...
Ищи где надо разбить и вставляй #$13 #$10. Токма я не понял где результат хранить...
← →
ekto © (2008-07-11 13:29) [5]
> Dennis I. Komarov © (11.07.08 13:23) [4]
да, точно, протормозил. а где хранить - не важно
← →
Dennis I. Komarov © (2008-07-11 13:30) [6]> а где хранить - не важно
Очень даже важно, в виду упомянутой тобой БД...
← →
ekto © (2008-07-11 13:41) [7]
> Dennis I. Komarov © (11.07.08 13:30) [6]
while not q.Eof do
begin
MyPos := Pos(q.FieldByName("n").AsString, tmpText);
if MyPos <> 0 then
begin
tmpText := Copy(tmpText, 1, MyPos - 1) + #13#10 + Copy(tmpText, MyPos, Length(tmpText) );
...
StringList.Text := tmpText;
end;
← →
Поросенок Винни-Пух © (2008-07-11 13:41) [8]Ищи где надо разбить и вставляй #$13 #$10.
Это неправильно.
Так на строки не разбить
← →
Dennis I. Komarov © (2008-07-11 13:50) [9]> [7] ekto © (11.07.08 13:41)
with TStringList.Create ... do begin
Text:=q.FieldByName("n").AsString;
... дальше сам
Free;
end;
> [8] Поросенок Винни-Пух © (11.07.08 13:41)
Это смотря где и чего надо автору. ИМХО ему достаточно...
← →
oldman © (2008-07-11 13:52) [10]Кстати, а зачем искомая последовательнось хранится в БД?
Судя по задаче, она единственная. Или нет?
Если нет, что на выходе? N результатов разбивки текста?
Ничего не понимаю ©
← →
ekto © (2008-07-11 13:53) [11]
> oldman © (11.07.08 13:52) [10]
> Кстати, а зачем искомая последовательнось хранится в БД?
>
> Судя по задаче, она единственная. Или нет?
пока порядка тысячи, потом будет больше.
> Если нет, что на выходе? N результатов разбивки текста?
дальше обрабатывать
← →
han_malign © (2008-07-11 13:59) [12]
> Поросенок Винни-Пух © (11.07.08 13:41) [8]
- "Это какие-то неправильыне пчелы."©...
#$13 - Carriage Return - Возврат Каретки
#$10 - Line Feed - Перевод Строки
← →
Поросенок Винни-Пух © (2008-07-11 14:00) [13]Ой , а я то и не в кусре. И шо?
Они как-то "разбивают" строку?
← →
ekto © (2008-07-11 14:02) [14]
> Поросенок Винни-Пух © (11.07.08 14:00) [13]
> Они как-то "разбивают" строку?
на мелкие кусочки)
← →
Поросенок Винни-Пух © (2008-07-11 14:03) [15]#$10 - Line Feed - Перевод Строки
Вот если бы Разбиватель строки, тогда да. Согласен.
← →
Dennis I. Komarov © (2008-07-11 14:07) [16]
> [14] ekto © (11.07.08 14:02)
#$13 можешь не ставить... Кусочки будут еще мельче :)
← →
Anatoly Podgoretsky © (2008-07-11 14:39) [17]> Поросенок Винни-Пух (11.07.2008 14:00:13) [13]
В пух и прах. Вопрос только в том, что для автора строка и что он будет делать в следующий раз.
← →
ekto © (2008-07-11 14:40) [18]
> Anatoly Podgoretsky © (11.07.08 14:39) [17]
> что он будет делать в следующий раз.
т.е.?
← →
Anatoly Podgoretsky © (2008-07-11 15:08) [19]> ekto (11.07.2008 14:40:18) [18]
А что разфе эта операция будет только один раз запускаться?
← →
Dennis I. Komarov © (2008-07-11 15:15) [20]> [19] Anatoly Podgoretsky © (11.07.08 15:08)
Он все равно никому ничего не скажет. Это секрет...
← →
ekto © (2008-07-11 15:30) [21]
> Anatoly Podgoretsky © (11.07.08 15:08) [19]
нет, не единожды.
← →
Anatoly Podgoretsky © (2008-07-11 15:32) [22]> Dennis I. Komarov (11.07.2008 15:15:20) [20]
Сообственно я особо на это и не расчитываю, но буду удивлен, если он все таки все расскажет.
← →
ekto © (2008-07-11 15:45) [23]
> Anatoly Podgoretsky © (11.07.08 15:32) [22]
я расскажу, честно-честно. Но, только после того, как Вы мне объясните суть вопроса. Ну не понял я, что Вас тут интересует: что он будет делать вследующий раз.! С чем делать? Конкретно непонятно, чем отличается первый раз от следующего?
и еще... сбился я с бестолку совсем. С самого начала. Pos мне не подходит. Мне нужно полное совпадение слов/фраз.
str := авав сб ро лоыоыв сблг сб ропро длж;
substr := "сб";
...
Result := "авав сб ро лоыоыв сблг " + #13#10 + "сб про длж";
Как сделать, проверять каждый раз, стоят ли на концах найденной подстроки пробелы?
← →
Поросенок Винни-Пух © (2008-07-11 15:52) [24]регулар експешшионз
← →
ekto © (2008-07-11 15:53) [25]
> Поросенок Винни-Пух © (11.07.08 15:52) [24]
весьма и весьма сумневаюсь, что тут они будут кстати. Шаблоны зае... писать. Много их. И могут добавляться в процессе пользования прогой.
← →
Dennis I. Komarov © (2008-07-11 16:00) [26]> [23] ekto © (11.07.08 15:45)
Нафига все это надо, и где чего куда подробно...
← →
Поросенок Винни-Пух © (2008-07-11 16:01) [27]И могут добавляться в процессе пользования прогой.
Вот как раз в этом RE и удобны.
Так как без них ты модифицируешь алгоритм программы, а с ними только сами выражения, лежащие в файле
← →
Поросенок Винни-Пух © (2008-07-11 16:03) [28]Нравятся мне такие перцы.
Сначала ответь им про несколько возможных вариантов решения, потом поуговаривай, потом кашей накорми и еще спать положи.
← →
Поросенок Винни-Пух © (2008-07-11 16:06) [29]Как сделать, проверять каждый раз, стоят ли на концах найденной подстроки пробелы?
Проверяй через раз. Чтобы не устать.
← →
ekto © (2008-07-11 16:11) [30]
> Поросенок Винни-Пух © (11.07.08 16:03) [28]
А как прикажешь спрашивать? Не, ну могу, канеш, сказать что мне надо, а вы мне все напишите(если не пошлете), но чет так не очень хочется. А ваще да... мозгое... я еще тот... :)
> Так как без них ты модифицируешь алгоритм программы,
нафик мне его модифицировать? Все лежит в БД. Беру строку и смарю, та иль нет. Ну проще мне так. Точнее, делаю так, как могу.
← →
Поросенок Винни-Пух © (2008-07-11 16:12) [31]нафик мне его модифицировать?
Много их. И могут добавляться в процессе пользования прогой.
← →
ekto © (2008-07-11 16:13) [32]
> Поросенок Винни-Пух © (11.07.08 16:12) [31]
> Все лежит в БД.
← →
Поросенок Винни-Пух © (2008-07-11 16:14) [33]если алгоритм поиска границ не меняется, то с какого перепугу вдруг потребуется добавлять новые регулярные выражения?!
← →
Поросенок Винни-Пух © (2008-07-11 16:15) [34]> Все лежит в БД.
Да хоть в морге на третьей полке.
← →
ekto © (2008-07-11 16:15) [35]офтоп. я вот думаю, это только у меня рождаются такие мракобесные алгоритмы или нет? А то взять, да и приобрести метелочку?
← →
Поросенок Винни-Пух © (2008-07-11 16:17) [36]> Все лежит в БД.
Ты со строкой работаешь. А где она до этого лежала или стояла - как-то фиолетово.
Или в седьмом классе ты покупал чернила для седьмого класса?
← →
b z (2008-07-11 16:20) [37]
> А то взять, да и приобрести метелочку?
Это выход.
← →
Dennis I. Komarov © (2008-07-11 16:23) [38]> [35] ekto © (11.07.08 16:15)
Ты кетмара где то встретил? :)
← →
ekto © (2008-07-11 16:26) [39]
> Поросенок Винни-Пух © (11.07.08 16:17) [36]
так, если я правильно понял. Делается это сл. обр.: берется строка, делается для нее шаблон поиска и т.д. Так?
← →
ekto © (2008-07-11 16:27) [40]
> Dennis I. Komarov © (11.07.08 16:23) [38]
О, с удовольствием бы, но увы, подозреваю, он зело занят созданием теории неомизантропии.
Страницы: 1 2 вся ветка
Форум: "Начинающим";
Текущий архив: 2008.08.17;
Скачать: [xml.tar.bz2];
Память: 0.54 MB
Время: 0.051 c