0
mrd2006
19.06.12
✎
17:08
|
Имеется произвольная строка символов (без пробелов). Интересно можно ли придумать универсальный алгоритм проверки соответствия двух строк на равенство. Проблема в том, что строка может быть набрана произвольно, например "апрель" символ "а" может быть набран как на русском, так и на латинском, равно как и символы "р" и "е" и т.д.
|
|
7
Фокусник
19.06.12
✎
17:13
|
(0) я делал так: обе строки приводил к одному виду (т.е. заменял в них лат.а на рус.а, лат.о на рус.о и т.д.), а потом сравнивал уже приведенные строки.
привести можно так:
Функция ПривестиСтроку(стр)
нов_стр = Нрег(стр); //если регистр важен, то убрать Нрег
нов_стр = СтрЗаменить(нов_стр, "a", "а"); //"a" - лат., "а"-рус.
нов_стр = СтрЗаменить(нов_стр, "o", "о"); //"o" - лат., "о"-рус.
//далее все варианты замены
Возврат нов_стр;
КонецФункции
|
|