- ベストアンサー
全角英数字を半角英数字に変換したい
全角英数字を半角英数字に変換する方法を教えて下さい。 $data =~ tr/0-9a-zA-Z/0-9a-zA-Z/; 以上のようにした場合、J-perl意外では望みどおりに変換されません。 jcode.plをつかって 全角英数字を半角英数字に変換する方法があると、 書かれていた方がいましたので、 できればjcode.plをつかった場合の 具体的なスクリプトの書き方を教えて下さい。 よろしくお願いいたします。
- 0011001100
- お礼率57% (4/7)
- Perl
- 回答数1
- ありがとう数1
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
jcode.pl を使って $data の全角文字英数字を半角英数字にするには、次のようにするとできるかもしれません。 &jcode::tr(\$data, '0-9A-Za-z-', '0-9A-Za-z-'); 参考 URL で詳しく書かれていますので、ご覧ください。
関連するQ&A
- Ruby1.9で全角文字を半角文字にうまく変換できません。
Ruby1.9で全角文字を半角文字にうまく変換できません。 英数字までは以下のロジックでうまく出来たのですが、カナが正しく変換されません。 何か良い知恵をどうかご教示のほどお願いいたします。 ※★→←★の間の文字は半角カナです(ブラウザ上全角カナとなってしまうため、便宜上補足しました)。 moji = "イあ1Aa" moji.tr('a-zA-Z0-9ア-ン', 'a-zA-Z0-9★→ア-ン←★') 結果:★→ウ←★あ1Aa 何故か半角のイではなく半角のウとなってしまう。 ※アの場合のみ正しく半角のアに変換される。
- ベストアンサー
- Ruby
- 全角英数字を半角英数字に置換する
全角英数字を半角英数字に置換するJavaScriptを探していて、 見つけはしたのですが、HTML側の書き方が分かりません。 下記がそのソースになります。 onBlurで動くようにしたい場合、どのようにHTML側を記述してやったらよいでしょうか。 /* 全角英数字を半角英数字に置換する */ function z2h_word(src) { return src.replace(/([A-Za-z0-9_])/g, function ($0) { return String.fromCharCode($0.charCodeAt(0) - 65248); }); } 変な質問で申し訳ないですが、わかる方教えて下さい。
- ベストアンサー
- JavaScript
- Excelで全角英数字を半角英数字に変換
こんばんは! お世話になります。 Excel sheetの列(F・G・J・K・N・O・R・S・V・W・Z・AA)、行(4~33)に アルファベットを入力するし、35行目以降に(例)A=1・B=2と"COUNTIF"関数使用でカウントされる様になっています。 そこで、その関数の式に半角英数字で入力した為、半角英数字で入力したものしかカウントされません。 入力時の注意で、半角英数字での統一入力でお願いしたものの、やはり中には全角英数字で入力する方もいて、一つ全角入力があると全て信用出来なくなり、折角自動でカウントされるようにしていても全部見直していては自動にした意味がありません。 その為、関数 or マクロでも結構です。 入力した範囲を選択して、半角英数字”A”の場合はそのままで全角英数字”A”の場合半角”A”に上書きされるようなことは出来ますか? 知っている中で、関数”ASC”も全角を半角に変換できますが、入力したセルと別のセルに返すので、そうではなく、入力してあるセルに上書きしたいのです。 ご存知の方がいらっしゃいましたら、宜しくお願いします。 お手数ですが初心者の為、具体的に教えて頂けたら幸いです。 ”のものは半角英数字
- ベストアンサー
- その他(データベース)
- perl jcode::convert 半角>全角
perlでjcode::convertで 半角を全角に変換すると 正しく変換される時とされない時があります。 例えば、 sample1.plとsample2.plの my $message = 'の次の「ハンカク」の4文字は半角の文字です。 (注)ここにアップロードすると全角で表示されてしまいます。 この4文字を半角にして確認してください。 sample1.plではこの4文字が全角に変換されるのですが sample2.plではこの4文字は半角のままです。 なぜ全角に変換されないのでしょうか。 (Windows7, ActivePerl v5.16.3) ---sample1.pl------------ require "jcode.pl"; my $message = 'ハンカク文字は使えるかな?'; jcode::convert(\$message,"sjis","", "z"); print "$message\n"; --------------- ---sample2.pl------------ require "jcode.pl"; my $message = 'ハンカク文字'; jcode::convert(\$message,"sjis","", "z"); print "$message\n"; --------------- なお、どちらも以下のようなメッセージが表示されています。 これは何を意味しているのでしょうか。 defined(%hash) is deprecated at C:/Perl64/site/lib/jcode.pl line 684. (Maybe you should just omit the defined()?) defined(%hash) is deprecated at C:/Perl64/site/lib/jcode.pl line 693. (Maybe you should just omit the defined()?)
- ベストアンサー
- Perl
- jcode.plのかわり
jcode.plの jcode::tr() のかわりを探しています。 jcode.plの jcode::tr(\$val,'0-9A-Za-z ()_@-','0-9A-Za-z ()_@-'); をPerl5.18.2で使用するとエラーが出てしまいます。これを回避したい。 プログラムがUTF-8であれば $val =~ tr/0-9A-Za-z ()_@-/0-9A-Za-z ()_@-/; のようにすれば実現可能みたいですが、プログラムはEUCで書かれています。 影響範囲からプログラムの文字コードをかえることはできれば避けたい。 一文字ずつ変換することも考えましたが、この方法ではパフォーマンスに懸念があります。 jacode.plなるものもありますが、これに置き換えるだけでは文字化けしてしまいました。 jcode::tr()のかわりになるような手段はあるのでしょうか?
- ベストアンサー
- Perl
- うまくいかない全角→半角変換の仕方
あちこち見てまわったのです。 とほほの ~ から個人の小規模なページまで。 $add ='test@test.ne.jp'; jcode::convert(\$add, 'euc'); jcode::tr(\$add, '0-9A-Za-z', '0-9A-Za-z'); jcode::convert(\$add, 'sjis'); print $add; ・・・@マークがまあ、この場合変換対象にはいって ないにしろ、なぜか表示されるものは、数字の 「11」 とか 文字列を変えると場合によっては「8」 とか出てきます。 また(2度目)借りているサーバー環境が悪いんで しょうか??? ほとほと参ってます(泣)。
- ベストアンサー
- Perl
- 全角英数字を半角に変換
テキスト文章で ひらがなと全角英数字の文章がありますが、 全角英数と句読点のみ半角に変換したいのですが、 なにか簡単にできる方法はないでしょうか? osはwindows98です。
- ベストアンサー
- その他(インターネット・Webサービス)
- 全角英数字を半角に変換
WindowsXPでファイルやフォルダが数千あり保存名がバラバラなので 統一しようと試みています。力を貸してください。 作業1.全角英数字を半角に変換 作業2.半角カタカナを全角カタカナに変換 現在) フォルダ名:実験資料01_012 ファイル名:実験結果プリント01.xls 改正) フォルダ名:実験資料01_012 ファイル名:実験結果プリント01.xls 例の様に一括変換ソフトやスクリプトをご存知の方いませんか。 参考にしたURL:http://okwave.jp/qa281720.html ここでは、フォルダ名は確かに変わりましたが、全角と半角が混ぜると 半角が削除されてしまいました。
- ベストアンサー
- Windows系OS
- 英数字の全角と半角はどう変えたらいいのでしょうか。
ウインドウズから初めてマックを導入している初心者です。 英数字の全角と半角はどのようにして変えたらいいのでしょうか。 大文字小文字はシフトキー押しながらで変わったのですが、全角と半角だけがうまく変換できません。
- ベストアンサー
- Mac
- 全角英数字を半角にしたいんです。
たとえばメールなどで送られてきた全角の数字をメモ帳上などで半角に直す方法ありますか? また全角英数字を半角に直すソフトなど知ってましたら教えてください。
- ベストアンサー
- その他(インターネット・Webサービス)
お礼
スクリプトをEUCにして、 &jcode::tr(\$data, '0-9A-Za-z-', '0-9A-Za-z-'); と書くとうまくいきました。 ありがとうございました。