Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2015.02.15;
Скачать: CL | DM;

Вниз

Поиск образца текста в StringList   Найти похожие ветки 

 
Мимо прогодивший   (2014-01-14 18:17) [0]

Так как "Начинающим" не работает, пишу вопрос сюда.

Есть программа где текст хранится в StringList. Нужно по всему его тексту выполнить поиск подстроки, подстрока не может начинаться в Strings[I], а заканчиваться на Strings[I + 1]. Поэтому код примерно такой:
 
 S: String;
 ..........................................................
 for i := 0 to StringList.Count - 1 do begin
   S := StringList.Strings[i];
   .......................................
   поиск образца текста в "S"
 end;


Каждый раз нужно делать S := StringList.Strings[i] ?


 
antonn ©   (2014-01-14 18:31) [1]

if(pos("popa",StringList.Strings[i]))
если в лоб


 
Юрий Зотов ©   (2014-01-14 18:34) [2]

Можно и не делать, а искать прямо в StringList.Strings[i].

А если искомая подстрока не содержит CR/LF, то можно искать и без цикла, в StringList.Text


 
Юрий Зотов ©   (2014-01-14 18:35) [3]

> antonn ©   (14.01.14 18:31) [1]
>
> if(pos("popa",StringList.Strings[i]))
> если в лоб


Это не в лоб.


 
Мимо прогодивший   (2014-01-14 18:54) [4]

Я за то что нельзя:

for i := 0 to StringList.Count - 1 do
 for j := 1 to Length(StringList.Strings[i]) do begin

    StringList.Strings[i][j]
 
 end;
Copy(SL.Strings[i],2,5)



> Можно и не делать, а искать прямо в StringList.Strings[i].

Подскажите плиз.


> if(pos("popa",StringList.Strings[i]))

так конечно можно, но как то не удобно параметром постоянно указывать StringList.Strings[i]


 
Мимо прогодивший   (2014-01-14 18:55) [5]


> А если искомая подстрока не содержит CR/LF, то можно искать
> и без цикла, в StringList.Text


Содержит, текст грузится с текстовых файлов


 
Мимо прогодивший   (2014-01-14 19:01) [6]

А, во, возможна следующая конструкция:

string(StringList.Strings[i])[j];


 
Германн ©   (2014-01-14 19:59) [7]


> но как то не удобно параметром постоянно указывать StringList.Strings[i]

Неудобно параметром указывать StringList.Text. А StringList.Strings это просто массив указателей.


 
antonn ©   (2014-01-14 20:58) [8]


> Юрий Зотов ©   (14.01.14 18:35) [3]
>
> > antonn ©   (14.01.14 18:31) [1]
> >
> > if(pos("popa",StringList.Strings[i]))
> > если в лоб
>
> Это не в лоб.

я к тому, что неужели оптимизатор конструкцию автора к моему виду не видет? а если приведет - я лишь синтаксисом написал то что у него и есть



Страницы: 1 вся ветка

Текущий архив: 2015.02.15;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.005 c
15-1405358878
Юрий Зотов
2014-07-14 21:27
2015.02.15
Нужны идеи.


2-1389709055
Мимо прогодивший
2014-01-14 18:17
2015.02.15
Поиск образца текста в StringList


2-1389704106
Marsovick
2014-01-14 16:55
2015.02.15
SQL запрос


11-1258454605
Dy1
2009-11-17 13:43
2015.02.15
GroupBox


2-1389859637
JohnKorsh
2014-01-16 12:07
2015.02.15
Работа с целыми числами, превышающими Int64