文字列データを全角に全て統一したり、または半角に強制的に変換したい場合に使用するのが StrConv 関数です。 この関数は以下の様な宣言になっています。
Public Function StrConv(str As String, Conversion As Microsoft.VisualBasic.VbStrConv, Optional LocaleID As Integer = 0) As String ・str :変換する String 型の式。 ・Conversion:Microsoft.VisualBasic.VbStrConv のメンバー。 実行する比較の種類を指定する列挙値。 ・LocaleID :省略可能です。 システム LocaleID 値と異なる場合の LocaleID 値。 既定値は、システムの LocaleID です。
LocaleID の引数は通常であれば必要はありません。
尚、Conversion の引数は以下の様な種類があります。
Conversion | 処理 |
---|---|
VbStrConv.Hiragana | 文字列内のカタカナをひらがなに変換します。 日本語ロケールのみに適用されます。 |
VbStrConv.Katakana | 文字列内のひらがなをカタカナに変換します。 日本語ロケールのみに適用されます。 |
VbStrConv.Lowercase | 文字列を小文字に変換します。 |
VbStrConv.Narrow | 文字列内の全角文字を半角文字に変換します。 アジア ロケールに適用されます。 |
VbStrConv.Uppercase | 文字列を大文字に変換します。 |
VbStrConv.Wide | 文字列内の半角 (1 バイト) 文字を全角 (2 バイト) 文字に変換します。 アジア ロケールに適用されます。 |
これらの Conversion の値を OR で連結して指定ができます。
上記の例を以下のソースで行います。
文字列変換関数(StrConv)の使用例
' 元の文字列宣言 Dim strOrg As String = "01245ABCDExyzあいうえおカキクケコサシスセソタチツテト" Dim str As String Console.WriteLine("[変換前の文字列] :" & strOrg) ' 大文字を小文字に変換 str = StrConv(strOrg, VbStrConv.Lowercase) Console.WriteLine("[大文字] ⇒[小文字] :" & str) ' 半角文字を全角文字に変換 str = StrConv(strOrg, VbStrConv.Wide) Console.WriteLine("[半角文字]⇒[全角文字]:" & str) ' 全角文字を半角文字に変換 str = StrConv(strOrg, VbStrConv.Narrow) Console.WriteLine("[全角文字]⇒[半角文字]:" & str) ' 文字列内の[カタカナ]を[ひらがな]に変換します str = Strings.StrConv(strOrg, VbStrConv.Hiragana) Console.WriteLine("[カタカナ]⇒[ひらがな]:" & str) ' 文字列内の[ひらがな]を[カタカナ]に変換します str = Strings.StrConv(strOrg, VbStrConv.Katakana) Console.WriteLine("[ひらがな]⇒[カタカナ]:" & str) ' 小文字を大文字に変換後、全角文字に変換 str = StrConv(strOrg, VbStrConv.Uppercase Or VbStrConv.Wide) Console.WriteLine("[大文字]+[全角文字] :" & str)
上記の処理を実行すると以下の様な表示が、「出力」ウインドウに表示されます。
[変換前の文字列] :01245ABCDExyzあいうえおカキクケコサシスセソタチツテト [大文字] ⇒[小文字] :01245abcdexyzあいうえおカキクケコサシスセソタチツテト [半角文字]⇒[全角文字]:01245ABCDExyzあいうえおカキクケコサシスセソタチツテト [全角文字]⇒[半角文字]:01245ABCDExyzあいうえおカキクケコサシスセソタチツテト [カタカナ]⇒[ひらがな]:01245ABCDExyzあいうえおかきくけこサシスセソたちつてと [ひらがな]⇒[カタカナ]:01245ABCDExyzアイウエオカキクケコサシスセソタチツテト [大文字]+[全角文字] :01245ABCDEXYZあいうえおカキクケコサシスセソタチツテト
関連する記事
⇒文字列変換関数(StrConv)で変換が途中で切れるPR
コメント