半角カナのみ全角カナに変換するサンプル。
単純に StrConv の VbStrConv.VbStrConv.Wide を指定するだけだと、英数字も全角になってしまうのでその対策。
''' <summary> ''' 半角カナを全角カナに変換 ''' </summary> Public Shared Function ToZenkakuKana(ByVal in_strData As String) As String ' 半角カナのコード範囲 Const HANKAKU_KANA_PTTERN As String = "[uFF61-uFF9F]+" Return Regex.Replace(in_strData, HANKAKU_KANA_PTTERN, Function(in_match As Match) As String ' 切り出した半角カナ部分を全角カナに変換 Return StrConv(in_match.ToString, VbStrConv.Wide) End Function) End Function
ついでにその逆。ひらがなも含めて半角カナに。
''' <summary>
''' かなを半角カナに変換
''' </summary>
Public Shared Function ToHankakuKana(ByVal in_strData As String) As String
Return StrConv(in_strData, VbStrConv.Katakana Or VbStrConv.Narrow)
End Function
C# の人は、Microsoft.VisualBasic を参照設定したうえで Microsoft.VisualBasic.Strings.StrConv() を使用します。