Есть у меня алгоритм... | May 11, 2005 |
... и даже несложный. Работает для, скажем, 99% слов. Точного алгоритма, наверное, не может быть в природе - проще к имеющемуся составить список исключений. Итак: Заменяем в слове гласные на единицы, согласные на нули, а буквы (й,ъ,ь) - на пробелы. далее к нашей строке п... See more ... и даже несложный. Работает для, скажем, 99% слов. Точного алгоритма, наверное, не может быть в природе - проще к имеющемуся составить список исключений. Итак: Заменяем в слове гласные на единицы, согласные на нули, а буквы (й,ъ,ь) - на пробелы. далее к нашей строке применяем такую последовательность (извините, в данный момент расписывать принцип времени нет, поэтому вставляю кусок листинга на foxpro): ChrTran( StrTran( StrTran( StrTran( cYourWord, '01', '-**') ,'10', '-**'), '-', '', 1, 1), ' *10','XXXX')) описание функций: CHRTRAN( ) Replaces each character in a character expression that matches a character in a second character expression with the corresponding character in a third character expression. STRTRAN( ) Searches a character expression for occurrences of a second character expression , and then replaces each occurrence with a third character expression. Если принцип все же не понятен, то можете подождать, перепишу на джаваскрипте. ▲ Collapse | |