OCCURS() + только слово целиком | |
---|---|
dimuhametov Сообщений: 1562 Откуда: Костанай Дата регистрации: 01.11.2008 |
Уважаемые форумчане !
Не хочу изобретать велосипед, но есть ли у кого альтернатива функции OCCURS(), но только с признаком искать "слово целиком" (Match whole word) ? к примеру :
------------------ Незнание делает жизнь такой интересной. |
Re: OCCURS() + только слово целиком | |
---|---|
StasKryzh Сообщений: 14 Дата регистрации: 26.09.2009 |
Как вариант - добавить строке поиска и строке в которой ищем по пробелу вначале и в конце, и сделать для строки в которой ищем ChrTtran() для символов пунктуации с заменой их на пробел.
proc myOccurs(p1, p2) cRepl = ".,?!" && тут простор для вариантов... Return OCCURS(" " + p1 + " "," " + ChrTran(p2, cRepl, Space(Len(cRepl)) + " ")) |
Re: OCCURS() + только слово целиком | |
---|---|
dimuhametov Сообщений: 1562 Откуда: Костанай Дата регистрации: 01.11.2008 |
? myOccurs('strsod', 'strsod') && возвращает 0, а надо 1 ------------------ Незнание делает жизнь такой интересной. |
Re: OCCURS() + только слово целиком | |
---|---|
StasKryzh Сообщений: 14 Дата регистрации: 26.09.2009 |
скобка была не там)))
return OCCURS(" " + p1 + " "," " + ChrTran(p2, cRepl, Space(Len(cRepl))) + " ") |
Re: OCCURS() + только слово целиком | |
---|---|
Taran Автор Сообщений: 13623 Откуда: Красноярск Дата регистрации: 16.01.2008 |
Я так понимаю, что строка в которой ищем может быть из нескольких слов или даже строк?
Я в своё время ничего не придумал кроме как перебирать все вхождения и анализировать символ до и после найденного. Процедура строк 20. Исправлено 1 раз(а). Последнее : Taran, 17.11.19 18:43 |
Re: OCCURS() + только слово целиком | |
---|---|
dimuhametov Сообщений: 1562 Откуда: Костанай Дата регистрации: 01.11.2008 |
Станислав и Олег, спасибо за идею. Разобрался.
------------------ Незнание делает жизнь такой интересной. |
Re: OCCURS() + только слово целиком | |
---|---|
leonid Сообщений: 3202 Откуда: Рига Дата регистрации: 03.02.2006 |
Попробуйте ? myOccurs('a', 'a a') |
Re: OCCURS() + только слово целиком | |
---|---|
StasKryzh Сообщений: 14 Дата регистрации: 26.09.2009 |
если использовать Return из откорректированного варианта в 4 сообщении - вернет 2. А сколько должно быть? Пардон, проверил. Нужно добавить StrTran(p2, Space(1), Space(2)) Я высказал идею.. я допиливать можно долго для всевозможных вариантов.... Исправлено 1 раз(а). Последнее : StasKryzh, 17.11.19 19:36 |
Re: OCCURS() + только слово целиком | |
---|---|
Taran Автор Сообщений: 13623 Откуда: Красноярск Дата регистрации: 16.01.2008 |
Небольшой добавчик.
Если пойдешь по моему пути, то для анализа символа слева и справа кроме isdigit() и isalfa() вероятно надо проверить и на '_'. Я писал для анализа кода, поэтому критично. Ну и, пардон, несколько не полна постановка. a:a - два целых 'a' содержит или ни одного? |
© 2000-2024 Fox Club  |