|
Сравнение строк с учетом раскладки | ☑ | ||
---|---|---|---|---|
0
m_roose
11.06.14
✎
13:24
|
Ребят, не подскажете, можно ли как то сравнивать две строки, игнорируя так скажем схожие визуально символы английской и русской раскладки? ну т.е. есть например "K3NNB3A", символ B можно написать как по русски, так и английски. Как системе понять, что две визуально одинаковые строки должны быть равны, не важно какой раскладкой их вводили? Может есть уже какие то готовые решения? или помогите, направьте пожалуйста, в какую сторону думать..
|
|||
1
Godofsin
11.06.14
✎
13:25
|
юзеры задолбали с "у меня пароль не вводится!!!"? =)
|
|||
2
lamme
11.06.14
✎
13:25
|
программно прописать ?
|
|||
3
m_roose
11.06.14
✎
13:26
|
(1) неет( нужно две схожие номенклатуры искать и объединять в одну, а юзеры на вводили с разной раскладкой(
|
|||
4
m_roose
11.06.14
✎
13:27
|
(2) каким алгоритмом не направите? думаю полюбому есть уже какие то решения, но у меня не получилось ничего найти(
|
|||
5
Fragster
гуру
11.06.14
✎
13:27
|
сделай массив замен и приводи сравниваемые строки к одному варианту
|
|||
6
Maxus43
11.06.14
✎
13:28
|
ПОДОБНО можно поюзать в запросе
|
|||
7
Godofsin
11.06.14
✎
13:28
|
(5) +1 а потом ПОДОБНО
|
|||
8
lamme
11.06.14
✎
13:29
|
(4) -> (6)
|
|||
9
m_roose
11.06.14
✎
13:30
|
думаю ПОДОБНО не вариант..
|
|||
10
Йохохо
11.06.14
✎
13:35
|
(9) перезапиши все строки приводя к одному правильному варианту раскладки, а потом уже думай как их сравнить
|
|||
11
m_roose
11.06.14
✎
13:54
|
(10) ну вот вопрос в этом и есть, как перезаписать? создавать какой то массив соответствий? и проверять каждый символ на него или еще как..
|
|||
12
Fragster
гуру
11.06.14
✎
14:05
|
Соответствие = Новый Соответствие();
Соответствие .Вставить("A","А"); ,,,, ПриведеннаяСтрока1 = Строка1; ПриведеннаяСтрока2 = Строка2; Для каждого КлючИЗначение Из Соответствие Цикл ПриведеннаяСтрока1 = СтрЗаменить(ПриведеннаяСтрока1, КлючИЗначени.Ключ,КлючИЗначение.Значение ); ПриведеннаяСтрока2 = СтрЗаменить(ПриведеннаяСтрока1, КлючИЗначени.Ключ,КлючИЗначение.Значение ); КонецЦикла; Возврат ПриведеннаяСтрока1 = ПриведеннаяСтрока2 |
|||
13
Fragster
гуру
11.06.14
✎
14:06
|
ну там пару опечаток поправить и можно в бой
|
|||
14
zulu_mix
11.06.14
✎
14:33
|
(12) гениально. линейно заполнить соответствие а потом еще в цикле замену делать. а сразу линейно заменить не?
|
|||
15
m_roose
11.06.14
✎
14:37
|
(12) спасибо
|
|||
16
Fragster
гуру
11.06.14
✎
14:54
|
(14) можно и так. просто тут можно запилить хранение пар в БД, например. типа модульность и вся фигня. все равно это времени по сравнению с остальной работой почти не отнимет, если конечно сотни тысяч проверок не делать.
|
|||
17
zulu_mix
11.06.14
✎
15:57
|
(16) а собрать 2 строки соответствия русских-латинских букв и заменить через найти обходя посимвольно анализируемую строку?
|
|||
18
Segate
11.06.14
✎
16:20
|
(15) вангую следующий вопрос: " теперь номенклатура типо Adidas не ищется, потому что там а русские!!!!1111"
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |