|
СтрНайти и найти слово целиком |
☑ |
0
John83
21.02.23
✎
15:30
|
Возможно ли реализовать поиск что-то вроде СтрНайти("№123456", "123") = 0 ?
Как во встроенном поиске есть "слово целиком".
В начале слово может быть и номер и пробел и все что угодно, в конец точно так же.
|
|
1
NorthWind
21.02.23
✎
15:35
|
Возможно, но надо написать :)
|
|
2
NorthWind
21.02.23
✎
15:39
|
на самом деле не особо-то это сложно. СтрНайти () же возвращает позицию вхождения, положим, N. Смотрим, чтобы символы N-1 и (N+СтрДлина (СтрокаПоиска)+1) были пробелами или знаками препинания. Если да, значит, все, нашли. Если нет, то берем в качестве исходной строки строку от (N+СтрДлина (СтрокаПоиска)+1) до конца и повторяем поиск уже в ней. И так пока не найдем или пока не вернет 0 - значит, такой подстроки нет.
|
|
3
John83
21.02.23
✎
15:39
|
(1) хотя бы какое направление?
|
|
4
NorthWind
21.02.23
✎
15:42
|
(3) -> (2). (N+СтрДлина (СтрокаПоиска)+1) читать как (N+СтрДлина (СтрокаПоиска)).
|
|
5
polosov
21.02.23
✎
15:43
|
(3) Регулярные выражения
|
|
6
NorthWind
21.02.23
✎
15:43
|
либо да, можно регулярками сделать
|
|
7
TormozIT
гуру
21.02.23
✎
22:21
|
В ИР реализовано в ирОбщий.СтрНайтиСловоЛкс
|
|