|
.NET TIPS 文字列を全角/半角に変換するには?(VB.NET関数活用)デジタルアドバンテージ 遠藤 孝信2005/02/18 |
![]() |
|
|
|
文字列中の全角文字を半角文字(半角英数字、半角カタカナなど)に、あるいは半角文字を全角文字に変換するための関数がVB.NETには用意されている。本稿では、その利用方法と注意点、その関数をC#から利用する方法について解説する。
VB.NETにおける全角/半角の変換
VB.NETでは、文字列を全角/半角に変換にはStrConv関数(Microsoft.VisualBasic名前空間)を利用する。
まず、全角文字を半角に変換するには、第1パラメータに変換する文字列、第2パラメータに「VbStrConv.Narrow」を指定する。VbStrConv.NarrowはVbStrConv列挙体(Microsoft.VisualBasic名前空間)で定義されている値である。StrConv関数は変換後の文字列を返す。
![]()
半角文字を全角に変換するには、第2パラメータに「VbStrConv.Wide」を指定すればよい。
![]()
StrConv関数では、第3パラメータとしてカルチャ(言語や地域固有の情報)を示すID(カルチャ識別子)を指定できるが、このパラメータは省略可能である。省略した場合にはIDとして0を指定したことになる(0はシステムで既定のカルチャを示す)。
どちらの場合の変換も、変換不可能な文字(漢字やひらがななど)は変換されずにそのまま戻り値の文字列に含まれる。
以下に、StrConv関数を使用したVB.NETのサンプル・プログラムを示す。
|
|
| 全角/半角の変換を行うVB.NETのサンプル・プログラム(vbhanzen.vb) |
StrConv関数利用時にはいくつかの注意点がある。上記サンプル・プログラムにある出力例からも分かるように、全角のバックスラッシュ「\」は半角には変換されない。さらに、全角の円マーク「¥」は半角に変換されるが、半角の円マーク「\」は全角には変換されない。
また、濁点「゛」や半濁音符「゜」が付いた全角文字(「ガ」や「パ」)は、2つの半角文字からなる文字列に変換される。逆に、この2文字の半角文字(
や
)は、1つの全角文字に変換できる。ただし単独の濁点や半濁音符は、1つの文字として全角や半角に変換される。
C#における全角/半角の変換
VB.NETの関数は、C#からも利用できる。その具体的な利用方法については「TIPS:VB.NET固有の関数をC#で使用するには?」で解説している。
C#では、StrConv関数はStringsクラス(Microsoft.VisualBasic名前空間)の静的メソッドであるStrConvメソッドとして利用可能だ。以下に先ほどのVB.NETのサンプル・プログラムと同等のC#のプログラムを示す。
![]() |
| VB.NETのStrConv関数を使用して全角/半角の変換を行うC#のサンプル・プログラム(vbhanzen.cs) |
C#ではStrConv関数のような省略可能なパラメータを持つメソッドを呼び出す場合に、そのパラメータを省略できない。そのため上記のサンプル・プログラムでは、StrConvメソッドの第3パラメータとして明示的に「0」を指定している。
StrConv関数は、ここで解説した全角/半角の変換以外にも、文字列のひらがな/カタカナ変換も可能である。これについては「TIPS:文字列をひらがな/カタカナに変換するには?(VB.NET関数活用)」で解説している。![]()
| カテゴリ:クラス・ライブラリ 処理対象:文字列 カテゴリ:C# 処理対象:VB.NET関数 使用ライブラリ:StrConv関数(Microsoft.VisualBasic名前空間) 使用ライブラリ:Stringsクラス(Microsoft.VisualBasic名前空間) 使用ライブラリ:VbStrConv列挙体(Microsoft.VisualBasic名前空間) 関連TIPS:VB.NET固有の関数をC#で使用するには? 関連TIPS:文字列をひらがな/カタカナに変換するには?(VB.NET関数活用) |
|
||||||||||||||||||||||||||||
| 「.NET TIPS」 |
TechTargetジャパン
- 新人プログラマーのためのInsider.NETの歩き方 2012 (2012/5/22)
晴れて.NETプログラマーとなる新人が効率的に開発技術を習得するには? 大量にある記事群の中から新人が読むべきお勧めを厳選して紹介 - jQuery MobileでJavaScriptプログラミング (2012/5/17)
jQuery Mobileは手軽なだけでなく、JavaScriptのAPIも充実しており、独自機能の実装もできる。今回は「グローバル設定」と「イベント」を解説 - Windows上で開発するための開発環境構築入門 (2012/5/16)
Windowsを使ってチームで開発している? なのにサーバOSを設定・運用した経験がない? そうなら、今すぐ学ぼう - 「コントラクト」でアプリのサンドボックスを乗り越える! (2012/5/11)
Metroスタイル・アプリはサンドボックスの中で動作する。それを乗り越えてほかのアプリと連携する仕組み「コントラクト」を解説
|
|
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -




