Ruby1.9で全角文字を半角文字にうまく変換できません。
英数字までは以下のロジックでうまく出来たのですが、カナが正しく変換されません。
何か良い知恵をどうかご教示のほどお願いいたします。
※★→←★の間の文字は半角カナです(ブラウザ上全角カナとなってしまうため、便宜上補足しました)。
moji = "イあ1Aa"
moji.tr('a-zA-Z0-9ア-ン', 'a-zA-Z0-9★→ア-ン←★')
結果:★→ウ←★あ1Aa 何故か半角のイではなく半角のウとなってしまう。
※アの場合のみ正しく半角のアに変換される。
No.1ベストアンサー
- 回答日時:
カナは文字コード表上でアルファベットの様に半角と全角で同じ順番に並んでいるわけではないので、trで単純に変換できません。
# coding: Windows-31J
require 'nkf'
input = "アイゥェォバヴァポヲ".encode('Shift_JIS')
output = NKF.nkf('-SsZ4',input ).encode('Windows-31J')
puts output
ruby 1.9.1p429 (2010-07-02 revision 28523) [i386-mswin32]の環境で確認しました。
エンコードは適宜変更して下さい。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Accessで文字列のバイト数読み込み
-
C言語 exitの使い方
-
Excel-vba 文字列と変数を...
-
VBAでダブルコーテーション入り...
-
VB6.0-整数と余りを求める
-
processing エラーで、 "cannot...
-
フォームを開くときに、コンボ...
-
配列の値を置換するにはどうす...
-
エクセルへのデータの貼付時に...
-
関数で複数の値を戻り値として...
-
[VBS]変数を定数に変換する方法...
-
大きな数の乱数を作るには
-
C言語でCLAMP(a,b,c)
-
DataGridView 複数行同時変更...
-
python の 連鎖代入の文法
-
BNFの書き方を教えてください
-
コマンドプロンプト バッチ|結...
-
テキストボックスの値を変数に...
-
Variant型で宣言してるのにEmpt...
-
COLUMN(1:1)の意味を教え...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VisualStudio2022でC言語プログ...
-
Accessで文字列のバイト数読み込み
-
C言語で全角文字を扱いたいので...
-
HTML5では文中の半角不等号はち...
-
VC2008+Qtの文字化け
-
英数半角文字と「-」を指定する...
-
Ruby言語にて、全角カナ⇔半角カ...
-
Cpadで文字化け
-
VBA シート上にドロップダウン...
-
PHPで特定の変数値を取り出す
-
rubyの正規表現について
-
スプレッドシートの関数
-
アンダーバーとバックスラッシュ
-
Kシェルでの桁数取得
-
プロキシを使うプログラムでエ...
-
open-uriを用いた、ウェブ上か...
-
C言語 exitの使い方
-
VBAでダブルコーテーション入り...
-
フォームを開くときに、コンボ...
-
Excel-vba 文字列と変数を...
おすすめ情報