|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Ключевые слова в фразе
Здрасте.
мб, у кого есть наработки алгоритма который бы обрабатывал стринг и с помощью функции мог бы вернуть true если в стринге содержится указанное ключевое слово. ну, типа, includesword(fraza, word : string) : boolean; P.S.: Или хотябы подскажите как стринг разделить на слова и записать эти слова в стринглист. и чтобы знаки препинания записывались как отдельное слово. т.е. вот так: это фраза, с запятой : это исходная фраза это фраза , с запятой : это стринглист Последний раз редактировалось DiXel, 18.07.2011 в 08:56. |
#2
|
||||
|
||||
Код:
function includesword(fraza, word : string) : boolean; begin if pos(word,fraza)<>0 then result:=true else result:=false; end; |
#3
|
||||
|
||||
1.
Unit StrUtils function AnsiContainsStr(const AText, ASubText: string): Boolean; Description AnsiContainsStr returns true if the string specified by ASubText appears as a substring of the string specified by AText. Comparison is performed case-sensitively. AnsiContainsText - case-insensitive AnsiContainsStr - case-sensitive 2. Код:
type TForm1 = class(TForm) Memo1: TMemo; ... var s: String; begin s:='это фраза, с запятой'; s:=StringReplace(s, ',', #13#10',', [rfReplaceAll, rfIgnoreCase]); s:=StringReplace(s, ' ', #13#10, [rfReplaceAll, rfIgnoreCase]); Memo1.Text:=s; end; Пишу программы за еду. __________________ |
#4
|
||||
|
||||
Я когда-то занимался разработкой разбора строк методом маркеров для математических программ , есть процедура на паскале, но для конкретного применения надо переделывать, если такой метод подойдет, могу выложить.
- Товарищ прапорщик!!! Остановите поезд!!! - Поезд СТОЙ! РАЗ! ДВА! |