powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Замена символов с строке
13 сообщений из 13, страница 1 из 1
Замена символов с строке
    #39577267
Всем привет! Подскажите пожалуйста, может быть кто-то сталкивался с похожей проблемой. Необходимо осуществлять замену символов в строке. Ведется поиск по ФИО не в лоб, а подменой символов по самым распространенным типам опечаток, т.е. Щ на Ш, Ь на И, Ъ на И, двойные буквы одинарными. Как можно быстро находить эти двойные буквы в строке? Не перебором же по всему алфавиту.....
...
Рейтинг: 0 / 0
Замена символов с строке
    #39577270
Руслан Дамирович
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
так что-ли?
Код: sql
1.
2.
3.
DECLARE @haystack VARCHAR(MAX) = 'пыш-пыщ оло-ло, я водитель нло'
DECLARE @needle VARCHAR(MAX) = 'пыщ-пыщ'
SELECT [pos] = PATINDEX( '%' + REPLACE( @needle, 'Щ', QUOTENAME( 'ЩШ' ) ) + '%', @haystack )
...
Рейтинг: 0 / 0
Замена символов с строке
    #39577279
Руслан Дамирович, например, Даммироович -> Дамирович
...
Рейтинг: 0 / 0
Замена символов с строке
    #39577280
Andy_OLAP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кареглазая_заяВсем привет! Подскажите пожалуйста, может быть кто-то сталкивался с похожей проблемой. Необходимо осуществлять замену символов в строке. Ведется поиск по ФИО не в лоб, а подменой символов по самым распространенным типам опечаток, т.е. Щ на Ш, Ь на И, Ъ на И, двойные буквы одинарными. Как можно быстро находить эти двойные буквы в строке? Не перебором же по всему алфавиту.....
Вам нужно обратиться к Игорю Ашманову. Он как раз занимался проблемой автокоррекции в далеких 90-х и реализовал модуль для Microsoft, который в Word все эти двойные буквы ловит и опечатки.
Можно попробовать через OLE копировать кусок в Word, вызывать макросом на VBA проверку синтаксиса и орфографии, а затем преобразованный и очищенный абзац копировать обратно в столбец nvarchar(max) в таблицу SQL.
...
Рейтинг: 0 / 0
Замена символов с строке
    #39577283
dao
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
основа всё та же - создается словарь правил или стандартных опечаток
а дальше если вы работаете со строкой - то применяете их к строке
способы могут быть разные - от банального like до индексной таблички
если со множеством строк - то лучше наверное будет индексная табличка .
но тока учтите - в таких вещах автоматическая автозамена очень плохой помощник. Всё должно отсматриваться глазками.
Правда есть исключение )) работа с персональными данными )) там можно словчить - если сравниваются довольно большие банные по человеку ( типа - место рождения, адрес, дата рождения, фио и остальные редко меняемые данные ) то если не совпадение в одном поле из нескольких, по с большей долей вероятности таки описка, и её можно исправить.
...
Рейтинг: 0 / 0
Замена символов с строке
    #39577284
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кареглазая_заяНе перебором же по всему алфавиту.....Вообще-то, лучше всего именно перебором.
Ничего страшного! Например:

Есть ли у кого готовая функция перевода (транслит) с руского на английский
...
Рейтинг: 0 / 0
Замена символов с строке
    #39577287
aleks222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кареглазая_заяВсем привет! Подскажите пожалуйста, может быть кто-то сталкивался с похожей проблемой. Необходимо осуществлять замену символов в строке. Ведется поиск по ФИО не в лоб, а подменой символов по самым распространенным типам опечаток, т.е. Щ на Ш, Ь на И, Ъ на И, двойные буквы одинарными. Как можно быстро находить эти двойные буквы в строке? Не перебором же по всему алфавиту.....

1. Если враг не сдается - его уничтожают.
2. Удалите символы.
3. Найдите совпадения.
4. Обработайте найденное "як хотите"...

ЗЫ. Кстати в алфавите всего то 32 буквы. Так что 32 replace - самое быстрое.
...
Рейтинг: 0 / 0
Замена символов с строке
    #39577332
Руслан Дамирович
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кареглазая_заяРуслан Дамирович, например, Даммироович -> Дамирович
Это вам в Хогвардс на факультет прикладной магии
...
Рейтинг: 0 / 0
Замена символов с строке
    #39577347
Andy_OLAP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кареглазая_заяРуслан Дамирович, например, Даммироович -> Дамирович
Кареглазая_заядвойные буквы одинарными. Как можно быстро находить эти двойные буквы в строке? Не перебором же по всему алфавиту.


Таки да. И оловя нн ый -> оловя н ый. И диле мм а -> диле м а.
И Ваш генеральный директор Кареглазый_Ге нн адий -> Кареглазый_Ге н адий.

И уволят Вас за такой алгоритм с волчьим билетом на мороз.
...
Рейтинг: 0 / 0
Замена символов с строке
    #39577350
detku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Замена символов с строке
    #39577369
Руслан Дамирович
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
detkuData Quality Services (DQS) ?
https://msdn.microsoft.com/ru-ru/library/gg524800(v=sql.120).aspx
Жара!
А есть видео, где ее используют?
...
Рейтинг: 0 / 0
Замена символов с строке
    #39577373
detku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
https://www.youtube.com/results?search_query=+Data+Quality+Services
...
Рейтинг: 0 / 0
Замена символов с строке
    #39577380
Andy_OLAP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
detkuData Quality Services (DQS) ?

https://msdn.microsoft.com/ru-ru/library/gg524800(v=sql.120).aspx
Это все замечательно, только вот условие автора темы "Ведется поиск по ФИО не в лоб, а подменой символов по самым распространенным типам опечаток ".

У Вас база DQS. И есть в ней "Иванов", "Петров", "А в рам". Приходит А б рам Петрович. Или Авр аа м Моисеевич. Их как - добавлять в DQS или считать, что при вводе своих ФИО они ошиблись - и нужно автоматически заменить.

В общем, автору темы нужен универсальный алгоритм покруче ИИ. А выход из положения - внедрение процесса сверки вариантов, похожих на ошибки.
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Замена символов с строке
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]