![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
++Norton++ |
![]()
Сообщение
#1
|
Студент ![]() Группа: Участник Сообщений: 98 Регистрация: 5.10.2008 Пользователь №: 380 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Стоит задача перевести строку QString в транслит (т.е. к примеру, русскую строку "привет мир" в "privet mir").
Хотелось бы узнать мнение, как лучше это сделать? Просто текст может быть очень большим. Переводить все просто условиями, т.е. к примеру
Или может есть какой-то более рациональный вариант? PS И хотелось бы тут же спросить, как правильно сравнивать символы в вышеприведенном случае? Сравнение как в примере выше не получается. Т.е. если есть слово "арбуз", то в данном случае в if буква 'а' вовсе не распознается как 'а'. Да и все остальные буквы также. В чем может быть дело? Сообщение отредактировал ++Norton++ - 5.11.2009, 0:28 |
|
|
![]() |
wander86 |
![]()
Сообщение
#2
|
Студент ![]() Группа: Участник Сообщений: 26 Регистрация: 8.6.2009 Из: Днепропетровск Пользователь №: 812 Спасибо сказали: 1 раз(а) Репутация: ![]() ![]() ![]() |
Привет. Тут регекспами нада пользоваться, а точнее "покурите" replace.
Принцип транслитерации: - Делаете ассоциативный массив, где ключем будет латинская буква, значением - кирилица. - Делаете тот же foreach цикл, и в нем уже заменяете replace'ом все символы кирилицы на латиницу. .....Не туда вроде написал (-: |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 10.7.2025, 5:00 |