忍者ブログ

VB.NET-TIPS などプログラミングについて

VB.NETのTIPS(小技集)を中心に、Javascript、PHP その他のプログラミングについて少し役に立つ情報を発信します。いわゆる個人的な忘備録ですが、みなさんのお役に立てれば幸いです。

文字列変換関数(StrConv)の使い方

文字列データを全角に全て統一したり、または半角に強制的に変換したい場合に使用するのが 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

コメント

コメントを書く