ОБСУЖДЕНИЕ

Ф-ия переколдовки (translit)

10 ответов 6 тыс.
AI-выжимка обсуждения скоро

Краткие тезисы обсуждения со ссылками на ключевые ответы появятся здесь.

Статус
Закрыто для дальнейших ответов.
Автор темы
Не у кого не завалялся ли сей функционал, нужно на LS кириллические буковки перевратить в их аналог на латыне

Заранее спасибо
 
Хм. Это на собачке, аналог на лотусе работает только по символьно
АБВГДЖЗИКЛМНОПРСТ... Ю
Соответственно заморочка начнется там где аналог есть 2 знака YU CH ZH
Значит это должет быть два массива в 64 элемента каждый (т.к. регистр важен)
А дальше уже работать с элементами массива.
Вот и справшиваю, может кто имеет уже рабочую ф-ию.
 
Соответственно заморочка начнется там где аналог есть 2 знака YU CH ZH
ну тут мона зайюзать ка написанно link removed
Код:
 StrReplace=Implode(Split(stroka,symbolA),symbolB)

кол-во символов не будет иметь значения
 
Evaluate :)

Пишу прямо здесь.
Код:
Public Function translit(s As String) As String
Dim cyr As Variant
Dim lat As Variant
Dim conv List As String
Dim i As Integer
Dim c As String
Dim result As String
cyr = Split("А,Б,В,Г,Д,Е,Ё", ",")
lat = Split("A,B,V,G,D,E,Yo", ",")
For i = 0 To Ubound(cyr)
conv(Cstr(cyr(i))) = Cstr(lat(i))
Next
For i = 1 To Len(s)
c = Mid$(s, i, 1)
If Iselement(conv(c)) Then
result = result + conv(c)
Else
result = result + c
End If
Next
translit = result
End Function
 
это быстрее
Код:
StrReplace=Implode(Split(stroka,symbolA),symbolB)
чем посимвольная замена
 
И правда быстрее. На 10%. 750 мс против 828 мс на тексте в 18 тыс. символов.
 
Yakov
опытным путём или с потолка?
 
Morpheus
Конечно, опытным.
 
проверено опыт:)м
 
Статус
Закрыто для дальнейших ответов.

Статистика тем

Создано
LIGHT,
Последний ответ от
Kee_Keekkenen,
Ответы
10
Просмотры
5 985