Транслитерация текста с помощью PowerShell

Скрипт на PowerShell для транслитерации русского текста в латиницу.
Текст вводится не в теле скрипта, а запросом из командной строки.
Пробелы остаются пробелами.

Windows PowerShell ISE
  1. ############################################################
  2. #
  3. # Транслитерация текста с помощью PowerShell
  4. # Скрипт на PowerShell
  5. #
  6. ############################################################
  7. function Translit ([string]$inString)
  8. {
  9.     #Создаём хеш-таблицу соответствия символов
  10.     $Translit = @{
  11.     [char]'а' = "a"
  12.     [char]'А' = "A"
  13.     [char]'б' = "b"
  14.     [char]'Б' = "B"
  15.     [char]'в' = "v"
  16.     [char]'В' = "V"
  17.     [char]'г' = "g"
  18.     [char]'Г' = "G"
  19.     [char]'д' = "d"
  20.     [char]'Д' = "D"
  21.     [char]'е' = "e"
  22.     [char]'Е' = "E"
  23.     [char]'ё' = "yo"
  24.     [char]'Ё' = "Yo"
  25.     [char]'ж' = "zh"
  26.     [char]'Ж' = "Zh"
  27.     [char]'з' = "z"
  28.     [char]'З' = "Z"
  29.     [char]'и' = "i"
  30.     [char]'И' = "I"
  31.     [char]'й' = "j"
  32.     [char]'Й' = "J"
  33.     [char]'к' = "k"
  34.     [char]'К' = "K"
  35.     [char]'л' = "l"
  36.     [char]'Л' = "L"
  37.     [char]'м' = "m"
  38.     [char]'М' = "M"
  39.     [char]'н' = "n"
  40.     [char]'Н' = "N"
  41.     [char]'о' = "o"
  42.     [char]'О' = "O"
  43.     [char]'п' = "p"
  44.     [char]'П' = "P"
  45.     [char]'р' = "r"
  46.     [char]'Р' = "R"
  47.     [char]'с' = "s"
  48.     [char]'С' = "S"
  49.     [char]'т' = "t"
  50.     [char]'Т' = "T"
  51.     [char]'у' = "u"
  52.     [char]'У' = "U"
  53.     [char]'ф' = "f"
  54.     [char]'Ф' = "F"
  55.     [char]'х' = "h"
  56.     [char]'Х' = "H"
  57.     [char]'ц' = "c"
  58.     [char]'Ц' = "C"
  59.     [char]'ч' = "ch"
  60.     [char]'Ч' = "Ch"
  61.     [char]'ш' = "sh"
  62.     [char]'Ш' = "Sh"
  63.     [char]'щ' = "sch"
  64.     [char]'Щ' = "Sch"
  65.     [char]'ъ' = ""
  66.     [char]'Ъ' = ""
  67.     [char]'ы' = "y"
  68.     [char]'Ы' = "Y"
  69.     [char]'ь' = ""
  70.     [char]'Ь' = ""
  71.     [char]'э' = "e"
  72.     [char]'Э' = "E"
  73.     [char]'ю' = "yu"
  74.     [char]'Ю' = "Yu"
  75.     [char]'я' = "ya"
  76.     [char]'Я' = "Ya"
  77.     }
  78.     [string]$inString = Read-Host "Введите текст"
  79.     $TranslitText =""
  80.     foreach ($CHR in $inCHR = $inString.ToCharArray())
  81.         {
  82.         if ($Translit[$CHR] -cne $Null) 
  83.             { $TranslitText += $Translit[$CHR] }
  84.         else
  85.             { $TranslitText += $CHR }
  86.         }
  87.     return $TranslitText
  88. }
  1. PS C:\> Translit
  2. Введите текст: Заметки Сисадмина
  3. Zametki Sisadmina
  4.  
  5. PS C:\>

 


Перевод проекту

Сумма в российских рублях
  • Перевод осуществляется, через сервис электронных платежей Яндекс.Деньги
  • Сумма в российских рублях
  • В случае перевода с банковской карты — конвертация валюты производиться по курсу вашего банка
  • Комиссия 0%


Популярные заметки

Не запускается служба Сервер после установки Авеста

Ошибка 127, Не запускается служба Сервер (LanmanServer)

Windows Powershell

Powershell - замена CMD

Узнать свой IP адрес

IP адрес

 

Комментарии


  • Оставьте первый комментарий — будьте первым

 

Добавить комментарий

Ваш e-mail не будет опубликован.