Форум » KooBAudio 2.0 » Замена цифр словами » Ответить

Замена цифр словами

MoppoH: Подскажите, у Вас в словаре numeric есть выражение // такой-то год \d+(?=.?(год|г)\b), 1, 1 и он меняет 8 год на восьмой год если я добавляю слово век // такой-то год \d+(?=.?(век|год|г)\b), 1, 1 то он заменяет 8 век на восемь век, а не восьмой век может я где то не там добавляю?

Ответов - 4

Cminant: MoppoH В исходном тексте используются римские цифры? Если так, то пока что ничего не получится, т.к. "словарь склонения числительных" не понимает римских цифр. Даже если имеется "словарь ударений" с правилами для замены римских чисел арабскими, то он не поможет, т.к. обработка числительных происходит только один раз при добавлении проекта и строго перед обработкой словарями ударений... P.S. добавлю таки поддержку римских цифр в следующей версии, давно еще хотел, да как-то все руки не доходили =)

MoppoH: как ни странно цифры арабские // к такому-то году (?i)(?<=\bк.?)\d+(.?[\-—]?му)?(?=.?(году|веку|месяцу|столетию)), 3, 1 здесь заменяет как положено пы.сы. лучше вместо замены римских цифр сделайте поиск по тексту, а то очень неудобно искать в другой программе затем добавлять предложение в Вашу программу и смотреть почему он произносит не правильно, если не сложно

Cminant: MoppoH проверил \d+(?=.?(век|год|г)\b), 1, 1 Может дело в чувствительности к регистру? т.е. "8 век" он находит а "8 Век" - нет тогда стоит добавить (?i) в начало выражения (?i)\d+(?=.?(век|год|г)\b), 1, 1


MoppoH: добавил (?i) и стало заменять хотя слово век с маленькой буквы было всегда. спасибо за помощь.



полная версия страницы