- - PR -
C#による半角⇔全角変換の方法は?
1|2|3
次のページへ»
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2004-03-29 17:22
こんにちは!
C#による半角⇔全角変換の方法について悩んでいます。 C#にメソッドはありませんか? VBのメソッドは使用したくありません。 よろしくお願いします。 | ||||||||||||
|
投稿日時: 2004-03-29 17:52
全角への変換は.ToUpper()メソッド 半角への変換は.ToLower()メソッドでOKです。 詳しくはここを参照してください。 http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpguide/html/cpconchangingcase.asp | ||||||||||||
|
投稿日時: 2004-03-29 17:57
私も昔、半角⇔全角変換でいろいろ調べましたが
C#だけでやるには自作するしかないという結論に達して 結局、Microsoft.VisualBasicを使用しました。。。 | ||||||||||||
|
投稿日時: 2004-03-29 18:03
回答ありがとうございます。
下記の方法を試しましたが、半角文字「aa」は「AA」になるだけでした。 全角「AA」にするにはどうしたらよいでしょうか? public static string Method1(string str) { return str.ToUpper(); }
| ||||||||||||
|
投稿日時: 2004-03-29 18:18
burton999さんも仰っていますが、C#では面倒です。String.Replaceメソッドで根気よくやるしかないと思います。私も諦めて、Microsoft.VisualBasicを使いました。
| ||||||||||||
|
投稿日時: 2004-03-29 18:23
ToUpper()、ToLower()は全角半角ではなくて、大文字小文字の変換ですね。
全角半角の変換はおそらくないと思います。 (私は、マイクロソフトはわざと用意しなかったのだろうと想像していますが) もし新しいプログラムを作っているのなら、全角/半角などという概念はないものとしてプログラムを作ると良いですよ。 つまり"A"と"A"は全く関係の無い文字として扱うということです。 "○"(まる)と"O"(オー)が全く関係が無いのと同じように、です。 | ||||||||||||
|
投稿日時: 2004-03-30 11:38
というのを「VB.NETのコードを混ぜたくありません」と勝手に曲解しまして… 上でもあがってるように、Microsoft.VisualBasicを使うのがいちばん簡単だと思います。 VB.NETもC#もみんなCLRでは仲間なので、C#からVB.NETのStrConvを呼び出すことが出来ます。 以下サンプル。全角カタカナの「アイウエオ」を半角の「アイウエオ」に変換します。
コンパイル方法
VisualStudio使うときはmicrosoft.visualbasic.dllを参照設定すればいい(のかな?) どうしてもVB.NETを混ぜ込むのはやだ!というのなら、WindowsAPIのLCMapStringと格闘することになります。 [ メッセージ編集済み 編集者: TakeOne 編集日時 2004-03-30 11:59 ] | ||||||||||||
|
投稿日時: 2004-03-30 11:50
こんにちは。 難しいこと考えずに、変換テーブルでも作れば良い と思いますが、無理ですか? 全角、半角にできるものは限りがありますから、「作ってしまえ」が 一番かと。 一度つくったら、ずっと使えますし。 _________________ |
1|2|3
次のページへ»