Страницы: 1
RSS
Поиск и замена похожих символов (LAT<->CYR)
 
Добрый день, очень рад восстановлению данного сайта =) (почему то не могу зайти под своим логином)  
 
вопрос собственно вот  в чем  
есть список строк в котором часть символов, которые должны быть на латинице заменена "похожими" русскими буквами и наоборот.. в русском слове кирилический символ заменен латинским  
 
я смог их увидеть используя вариант 2 http://www.planetaexcel.ru/tip.php?aid=67  
 
как будет легче вернуть текст в первоначальный вид?  
 
ps надеюсь коллективный разум сможет победить данную проблему
Karim
 
Можно попытаться функцией КОДСИМВ и таблицей подстановок.  
Макросом, наверное, проще.
 
{quote}{login=vikttur}{date=22.07.2009 02:36}{thema=}{post}Можно попытаться функцией КОДСИМВ и таблицей подстановок.  
Макросом, наверное, проще.{/post}{/quote}  
 
то что макросом это понятно...  
 
какой алгоритм действий?  
проблема в том, что часть слов  в строке русские и часть английские, соответственно в русских словах некоторые символы заменены на латинские  
а в  английских на русские
Karim
 
По какому принципу машина должна определять латинское слово или кириллическое? По наличию хоть одного латинского символа? А если в русском слове использовался латинский символ? Или такое исключено?
KL
 
Можно попробовать написать нечто с использованием RegExp и обойтись одним циклом, если вы дадите ответ на мой предыдущий вопрос (на крайний случай всегда в запасе циклы в циклах). Я бы на вашем месте уже составлял список возможных пар замены, не думаю, что их больше 33-х :-)
KL
 
Учитывайте и строчные и прописные ;-)
KL
 
Спасибо The_Prist, я делал подобное, но руками..  
вся проблема в налиции 2х языков в одной строке..  
все символы в строках заглавные  
 
может попытаться "классифицировать" слова по наличию характерных для языка букв?  
русский по йцшщзъфыплджэячьбю  
английский qwryuisdfgjlzxvn  
 
пока других методов в голову не приходит, может есть более "деликатное" решение?  
 
надеюсь на коллективный разум =))
Karim
 
Этим-то и продиктован, мой первый вопрос, на который, кстати, не последовало ответа :-)
KL
 
"По какому принципу машина должна определять латинское слово или кириллическое? "  
 
для того чтоб найти наилучший способ для данной ситуации я и обратился на форум  
в приложении к первому посту файл с примером
Karim
 
Там же еще вопросы были ;-) Даю варианты ответов:  
 
1) По какому принципу машина должна определять латинское слово или кириллическое? - НЕ ЗНАЮ  
 
2) По наличию хоть одного латинского символа? - НЕ ЗНАЮ/ДА/НЕТ  
 
3) А если в русском слове использовался латинский символ? Или такое исключено?  
- НЕ ЗНАЮ/ДА/НЕТ
KL
 
По п.3 - В слове СВЕЖЕЕ "С" латинская.  
 
И соответствий-то всего 12.  
Первое слово - латиница, второе - кириллица. А вдруг и это не всегда?  
Больше не вижу, за что зацепиться.  
Разве что научить Excel мыслить :)
 
=)хмм отвечаю по пунктам...  
пункт 1 и 2 как раз и являются вопросами, мой видение решения проблемы в посте номер 8 "может попытаться "классифицировать" слова по наличию характерных для языка букв?    
 
русский по йцшщзъфыплджэячьбю  
английский qwryuisdfgjlzxvn"  
 
ответ на пункт 3 в каждом из первых трех моих постов  
пост 1 "в русском слове кирилический символ заменен латинским"  
пост 2 "в русских словах некоторые символы заменены на латинские а в английских на русские"  
пост 3 "вся проблема в налиции 2х языков в одной строке"  
 
наверно я плохо объясняю  
 
как реализовать анализ принадлежности слов к тому или иному языку если в слове содержатся характеные для языка буквы  
русский по йцшщзъфыплджэячьбю  
английский qwryuisdfgjlzxvn"
Karim
 
А как классифицировать слово Соp, например? Все три буквы могут быть из двух наборов. Пунто Свитчер, и тот иногда ошибается :-) Таких слов наберётся предостаточно.
 
Что будем делать с    
 
1) сокращениями типа "мес.", "мл.", "см", "с/к", "х/к"    
2) предлогами "с", "от", "на", "у", "к", "в"  
3) союзами "а", "но"  
4) частицами "то", "не", "нет", "вот"  
5) местоимениями "он", "она", "оно", "вас", "вам", "тот", "то"  
6) наречиями "так", "там", "как", "вот", "вон"  
7) словами типа "мама", "тема", "всем", "всем", "всех", "мех" и многими другими  
 
Это навскидку (думаю, еще найдутся сотни) и только в русском ;-)
KL
 
с пунто немного другая история  
сор cjh    
cop сщз  
 
мне кажется, пронанализировав слово по наличию характерного для языка символа мы сможем "раскидать" добрую половину слов...
Karim
 
{quote}{login=karim}{date=23.07.2009 02:30}{thema=}{post}с пунто немного другая история  
сор cjh    
cop сщз  
{/post}{/quote}  
Вы не поняли - вот написано cор, а первая буква сейчас СИ, остальные русские.
 
{quote}{login=karim}{date=23.07.2009 02:30}{thema=}{post}с пунто немного другая история  
сор cjh    
cop сщз  
 
мне кажется, пронанализировав слово по наличию характерного для языка символа мы сможем "раскидать" добрую половину слов...{/post}{/quote}  
 
Это как это "раскидать добрую половину слов"? А другую "злую половину слов" мы покалечим или будем пропускать если нет характерных символов и невозможно определить язык? Предположим останется эта половина, а дальше? Руками? Кстати нельзя ли сразу получить представление о размерах списка, средней длинне фраз и т.д.? А лучше сразу весь список с помеченными лат. и кир. символами.
 
Предыдущий пост - мой
KL
 
если нет характерного сивола пропускать..  
 
список 5-9тыс строк,  
строка до 50 символов
Karim
 
А проверку орфографии с макросами ни как не связать?  
Мне кажется, что по наличию характерных сиволов (я; ц; q; w.. и тп) можно иправить до 90% всех слов. Оставшиеся тупо исправлять на тот язык, чьих символов больше. А если с проверкой орфографии - то будет и не тупо.  
Имхо дилетанта.  
И мне кажется, Word с этой задачей лучше справится... (из эксель в ворд и обратно)
 
с орфографией скорее всего не получится в виду специфики позиций..  
 
идея номер2 распечатать в pdf и распознать через FReader  
 
прикладываю фрагмент по больше
Karim
 
Ну проверяйте :-) Предупреждаю: формулы достаточно медленные, т.ч. лучше производить правку текстов частями.
KL
 
Посмотрите для чистоты эксперимента макрос. Как то выкладывали его на форуме, ссылочку не запомнил, а файлик в копилочку положил.  
Может поможет, натолкнет на идею...
 
{quote}{login=Igor67}{date=23.07.2009 08:42}{thema=}{post}Посмотрите для чистоты эксперимента макрос. Как то выкладывали его на форуме, ссылочку не запомнил, а файлик в копилочку положил.  
Может поможет, натолкнет на идею...{/post}{/quote}  
Насколько мне видится, проблема не в том, чтобы найти и раскрасить символы (автор и сам это сделал, да и в моем файле есть подобный код), загвоздка в том, как программно определить русское слово или английское, если в нем могут присутствовать и кириллица и латиница.  
Кстати, чтобы никого не путать и ускорить пересчет выкладываю облегченную версию моего решения, но без проверок.
KL
 
Ну вот доверился массивам в коде The_Prist, а он пару "B-В" забыл :-) вешаю еще раз оба файла.
KL
 
KL Спасибо, сегодня буду мучать эксель =))
Karim
Страницы: 1
Читают тему
Наверх