Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.10.07;
Скачать: [xml.tar.bz2];

Вниз

А лгоритм поиска и замены.   Найти похожие ветки 

 
Tadeush   (2002-09-26 12:22) [0]

Господа подскажите алгоритм поиска и замены данных в строках
В одном текстовом файле присутствуют строки на английском языке и на русском но набранном аглицкими буквами. Причем хрен знает как. Надо что бы абракадабра переводилась а аглицкие слова нет. Пример:

SP payment end : Timeout(A101:0009)
Card(0000000000000000) taken
12345678.xxx 000004 PBRABPTAO <--(ОБРАБОТАННО)
JNa VAKMA RAINFR STATUS <--(ИМЯ ФАЙЛА РАЗМЕР СТАТУС)


 
Separator   (2002-09-26 12:31) [1]

В общем пишешь список всех англииских слов во всех вохможных формах, а потом анализируешь свой текст и проверяешь, если слово не входит в список, то значит это слово русское, вот его и транслируешь в нормальный вид.


 
Tadeush   (2002-09-26 12:34) [2]

До этого я додумался. Но словарь то ведь большой получится. А вдруг какие то изменения. То облом.


 
Separator   (2002-09-26 12:36) [3]

Ну тогда словарь русского языка (сто в принципе не меньше) в нужной транскрипции и потом сравнивай с ним и если совпадает, то это русское слово, вот его и транслируешь в нормальный вид.


 
Tadeush   (2002-09-26 12:40) [4]

Это понятно. Ну а вдруг добавилось новое сообщение в кривой кодировке? Оно ведь не переведется
Может что почитать есть?


 
Separator   (2002-09-26 12:44) [5]

Да никак ты это не сделаешь, весь текст должен быть в одной кодировке, а иниче делай распознование кодировок (мне кажется тут как-то это обсуждалось) и раскодирывай


 
Tadeush   (2002-09-26 12:46) [6]

В том то и дело что это не стандартная кодировка. Это что то связанное с 7 и 8 битными символами, а что это я не понимаю


 
TTCustomDelphiMaster   (2002-09-26 12:47) [7]

Tadeush ©

P - О
R - Р
A - А
и т.д.

Определите алгоритм перекодировки или составте таблицу перекодировки.


 
Tadeush   (2002-09-26 12:49) [8]

2 TTCustomDelphiMaster ©

Это понятно. А как что бы под перекодировку не попели английские слова то?


 
valleyman   (2002-09-26 12:58) [9]

Коды букв в английских словах и в абракадабрах совпадают или разные?


 
TTCustomDelphiMaster   (2002-09-26 13:06) [10]

Tadeush © (26.09.02 12:49)
Никак.

Вы раскажите про этот файл. Можете ли вы в строки на русском вставить слово, наприпер RUSSIANSTRING?


 
Tadeush   (2002-09-26 14:39) [11]

:)))))
Типа метки сделать. Тоже думал об этом.


 
Smithson   (2002-09-26 15:33) [12]

Можно сделать проще (но не быстрее).
Можно насильно определять принадлежность слова к определенному языку (я делал для русского). Делается так - берешь достаточно большой текст (как щас помню - 9600 и все-все-все) и подсчитываешь в нем число ПАР символов (АБ, АВ, АГ и тп). Составляешь массивчик ["а".."я","а".."я"] и пишешь в него подсчитаные пары. Одновременно считаешь количество символов в тексте. Получаешь массив частот ПАР символов и делитель к этому массиву. Теперь для любого текста выполняешь ту же процедуру и можешь сравшивать частоты ПАР для эталона и твоего текста (не забывая про делители). Если частоты совпадают - язык тоже.
Повторю еще раз - я делал для русского языка, но ничего не стоит сделать и для английского. Так ты сможешь без словаря выделять англовидные слова.



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2002.10.07;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.008 c
1-21003
SZap
2002-09-26 19:04
2002.10.07
Еще вопрос по Excel


1-21119
UnDISCOvery
2002-09-25 16:16
2002.10.07
TThread.Handle, TThread.ThreadID - какая разница ?


1-21079
Игорь Бублик
2002-09-24 22:09
2002.10.07
---|Ветка была без названия|---


1-21049
Sectey
2002-09-27 14:50
2002.10.07
Перемещение компонента во время выполнения.


3-20898
woland
2002-09-16 23:43
2002.10.07
Текст под углом





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский