全角文字を半角文字に変換する - Visual C# プログラミング

PROGRAM


全角文字を半角文字に変換する

全角文字を半角文字に変換したい場合、Visual Basic .NET であればすぐに StrConv という関数を用いて全角文字を半角文字に変換することができますが、Visual C# の場合には、この StrConv 関数を使用するために、次のような準備を事前に行っておく必要があります。

 

まず、プロジェクトの "参照設定" で、".NET" の "Microsoft.VisualBasic" を追加します。

ソリューションエクスプローラー内の、目的のプロジェクト内にある "参照設定" を右クリックして、"参照の追加" を選択します。

そして ".NET" グループの中から "Microsoft.VisualBasic" を選んで【OK】ボタンをクリックします。

 

その上で、StrConv を使用したい各ソースコード上で、次のように Microsoft.VisualBasic ライブラリを使用するように宣言します。

using Microsoft.VisualBasic

このようにすることで、Strings.StrConv というメソッドを利用することができるようになりました。

 

これで、後は次のようにして、全角文字を半角文字に変換することができます。

String result = Strings.StrConv(data, VbStrConv.Narrow);

例えばこのようにすることで、文字列変数 data の中の全角文字を半角文字に変換した内容が、文字列変数 result に取得できました。

 

なお、Strings.StrConv メソッドでは、全角文字を半角文字に変換する以外にも、次のようなさまざまな変換が行えるようになっています。

VbStrConv.None 変換を行いません。
VbStrConv.Uppercase アルファベットの小文字を大文字に変換します。
VbStrConv.Lowercase アルファベットの大文字を小文字に変換します。
VbStrConv.ProperCase 文字列内の覚悟の最初の文字を大文字に変換します。
VbStrConv.Wide 半角文字を全角文字に変換します。
VbStrConv.Narrow 全角文字を半角文字に変換します。
VbStrConv.Katakana 日本語のひらがなをカタカナに変換します。
VbStrConv.Hiragana 日本語のカタカナをひらがなに変換します。
VbStrConv.SimplifiedChinese 中国語の繁体字を簡体字に変換します。
VbStrConv.TraditionalChinese 中国語の簡体字を繁体字に変換します。
VbStrConv.LinguisticCasing VbStrConv.Uppercase や VbStrConv.Lowercase での変換を行う際に、ファイル システムでの規則ではなく言語学的な規則に従って変換するのだそうです。どのような違いになるかは、わかりませんでした。

これらのオプションを複数組み合わせることで、複数の変換を 1 度に行うことができます。

ちなみに VbStrConv.Uppercase と VbStrConv.Lowercase とを同時に指定してみたところ、この場合はアルファベットの大文字小文字の変換は行われない感じでした。

 


[ もどる ]