|
|
|
translit
|
|||
|---|---|---|---|
|
#18+
хочу я текст в файле автоматом переводить из кирилицы в транслит. Пока рабочий план - сделать хаш в котором каждому знаку кирилицы соответствует латиница и прочесать весь текст заменяя кир на лат. Какие альтернативы есть и как это делать если не изобретать велосипед ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2005, 13:13 |
|
||
|
translit
|
|||
|---|---|---|---|
|
#18+
Naugхочу я текст в файле автоматом переводить из кирилицы в транслит. Пока рабочий план - сделать хаш в котором каждому знаку кирилицы соответствует латиница и прочесать весь текст заменяя кир на лат. Какие альтернативы есть и как это делать если не изобретать велосипед два массива вместо хэша ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2005, 13:17 |
|
||
|
translit
|
|||
|---|---|---|---|
|
#18+
А смысл? Быстрее? Памяти меньше жрёт? Есть какая-то фенька связанная с тем что знаки обозначаются интом? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2005, 14:02 |
|
||
|
translit
|
|||
|---|---|---|---|
|
#18+
а причем тут знаки и int? например, Ж == Zh (не инт). я говорил о массивах строк -- Lacrima Mosa Est ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2005, 14:04 |
|
||
|
translit
|
|||
|---|---|---|---|
|
#18+
массив == array? то есть String [33] rus; и String [33] eng; ? А как связь между ними устанавливать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2005, 14:18 |
|
||
|
translit
|
|||
|---|---|---|---|
|
#18+
Naugмассив == array? то есть String [33] rus; и String [33] eng; ? А как связь между ними устанавливать? Может по индексу эррэя :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2005, 14:31 |
|
||
|
translit
|
|||
|---|---|---|---|
|
#18+
а как я внутри программы вычислю что Б имеет индекс2? Через свич 0.о ? Зачем? - в нэше это гораздо проще. Тут другой вопрос назрел - конкретно замена букв - есть ли метод которому можно сказать: замени все такие-то знаки в стринге на такие-то (тут как раз масивы бы и пригодились) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2005, 14:38 |
|
||
|
translit
|
|||
|---|---|---|---|
|
#18+
Naugа как я внутри программы вычислю что Б имеет индекс2? Через свич 0.о ? Зачем? - в нэше это гораздо проще. Тут другой вопрос назрел - конкретно замена букв - есть ли метод которому можно сказать: замени все такие-то знаки в стринге на такие-то (тут как раз масивы бы и пригодились) блянах. во-первых тут уже был нижеприведенный код, во-вторых, че тут с чем связывать? транслит прост - че там наворачивать? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2005, 14:41 |
|
||
|
translit
|
|||
|---|---|---|---|
|
#18+
Naugа как я внутри программы вычислю что Б имеет индекс2? Через свич 0.о ? Зачем? - в нэше это гораздо проще. Тут другой вопрос назрел - конкретно замена букв - есть ли метод которому можно сказать: замени все такие-то знаки в стринге на такие-то (тут как раз масивы бы и пригодились) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2005, 14:45 |
|
||
|
translit
|
|||
|---|---|---|---|
|
#18+
Грасов - а с хашем получается так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. P.S. есть разница - использовать substring или subSequence? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2005, 14:59 |
|
||
|
translit
|
|||
|---|---|---|---|
|
#18+
NaugГрасов - а с хашем получается так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. P.S. есть разница - использовать substring или subSequence? возьми потесть :) потом скажешь :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2005, 15:30 |
|
||
|
translit
|
|||
|---|---|---|---|
|
#18+
еслиб я ещё умел тестить... Кстати - нашел такой баг (или фичу) - при попаданий в срочку не-киррилицы(знаков отсутствующих в первом массиве/ключах хэша) хаш выдаст null а массив просто пропустит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2005, 15:40 |
|
||
|
translit
|
|||
|---|---|---|---|
|
#18+
Naugеслиб я ещё умел тестить... выполняешь код 10000 раз на большом пердложении из русского текста и замеряешь время в обоих случаях. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2005, 15:42 |
|
||
|
translit
|
|||
|---|---|---|---|
|
#18+
Только тестировать лучше такой код. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2005, 16:19 |
|
||
|
translit
|
|||
|---|---|---|---|
|
#18+
при тесте на моём файле (много коротких строчек) и числе повторов 1000 массивы заняли в среднем 48 единиц, хэш- 22 единицы(после модификации хэша чтобы он как массивы оставлял незнакомые знаки -24). Ниже - тестированный код(с учётом того что к методам обращались много раз я вынес оттуда создание массивов и хэша поэтому поправте если я что сделал не так): Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2005, 17:57 |
|
||
|
translit
|
|||
|---|---|---|---|
|
#18+
Я заметил что в примере с хашем я вызываю метод который заполняет хэш до того как засекаю время но после переноса ничего не изменилось - то есть put-ы не тормозят Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2005, 18:19 |
|
||
|
|

start [/forum/topic.php?fid=59&fpage=821&tid=2153042]: |
0ms |
get settings: |
6ms |
get forum list: |
17ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
45ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
59ms |
get tp. blocked users: |
2ms |
| others: | 230ms |
| total: | 382ms |

| 0 / 0 |
