Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2015.02.15;
Скачать: [xml.tar.bz2];

Вниз

Поиск образца текста в 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;
Скачать: [xml.tar.bz2];

Наверх





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


2-1389285810
SKIPtr
2014-01-09 20:43
2015.02.15
узнать об изминении значения RadioButton


15-1404230456
0xdeadc0de
2014-07-01 20:00
2015.02.15
REST Client Library (XE)


15-1405400323
brother
2014-07-15 08:58
2015.02.15
Лицензирование WinXP


2-1388863635
ghostdelvonte
2014-01-04 23:27
2015.02.15
Стрелки





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский