PowerShellで半角カタカナを全角カタカナに変換してみる

| 2009年4月27日月曜日
必要になったので…
使い方:
> ConvertTo-HankakukatakanaFromZenkakukatakana "デジタルハイビジョンテレビ"

--- ConvertTo-HankakukatakanaFromZenkakukatakana.ps1 ---

  1. function ConvertTo-HankakukatakanaFromZenkakukatakana([string]$value) {
  2. $zenkakukatakana = "アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヲン゛゜ァィゥェォャュョッ"
  3. $hanakakukatakana = "アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヲン゙゚ァィゥェォャュョッ"
  4. $dakutenZenkakukatakana = "ガギグゲゴザジズゼゾダヂヅデドバビブベボ"
  5. $dakutenHankakukatakana = "カキクケコサシスセソタチツテトハヒフヘホ"
  6. $handakutenZenkakukatakana = "パピプペポ"
  7. $handakutenHankakukatakana = "ハヒフヘホ"
  8. for ($i = 0; $i -lt $dakutenZenkakukatakana.Length;$i++) {
  9. $value = $value.Replace($dakutenHankakukatakana[$i] + "゙", $dakutenZenkakukatakana[$i])
  10. }
  11. for ($i = 0; $i -lt $handakutenZenkakukatakana.Length; $i++) {
  12. $value = $value.Replace($handakutenHankakukatakana[$i] + "゚", $handakutenZenkakukatakana[$i])
  13. }
  14. for ($i = 0; $i -lt $zenkakukatakana.Length; $i++) {
  15. $value = $value.Replace($hanakakukatakana[$i], $zenkakukatakana[$i])
  16. }
  17. return $value
  18. }