7.半角カタカナだけを全角カタカナに変換する(39_Str_07) (旧、SampleNo.017) |
1.半角カタカナだけを全角カタカナに変換する自作関数 2.上記と同じ事を正規表現を使って実現する方法 3. 4. 5. 6. |
下記プログラムコードに関する補足・注意事項 動作確認:Windows 8.1 (Windows 7) / VB2013 (VB2010) / Framework 4.5.1 / 対象の CPU:x86 Option :[Compare Text] [Explicit On] [Infer On] [Strict On] Imports :追加なし 参照設定:追加なし その他 : : このサンプル等の内容を無断で転載、掲載、配布する事はお断りします。(私の修正・改訂・削除等が及ばなくなるので) 必要ならリンクをはるようにして下さい。(引用の場合は引用元のリンクを明記して下さい) |
1.半角カタカナだけを全角カタカナに変換する自作関数 |
Option Compare Binary Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Label1.Text = fKanaHan2Zen(TextBox1.Text) End Sub '================================================= '半角カナだけを全角カナ変換する関数 fKanaHan2Zen '================================================= ' result = fKanaHan2Zen(myString) ' 引数 myString :変換元の文字列 ' 戻値 result :変換後の文字列 '------------------------------------------------- Private Function fKanaHan2Zen(ByVal myString As String) As String Dim i As Integer, strTemp As String = "", chrKana As String, strKana As String = "" If myString Like "*[。-゚]*" Then 'Option Compare Binary でないと、"引数 'Pattern' は有効な値ではありません。" となる。 For i = 0 To myString.Length - 1 chrKana = myString.Chars(i) Select Case Asc(chrKana) Case 161 To 223 strKana &= chrKana '半角が続いたら文字をつなぐ Case Else '全角文字になったら半角の文字を全角に変換 If strKana.Length > 0 Then strTemp &= StrConv(strKana, VbStrConv.Wide) strKana = "" End If strTemp &= chrKana End Select Next i If strKana.Length > 0 Then '最後の文字が半角の場合の処理 strTemp &= StrConv(strKana, VbStrConv.Wide) End If Else Return myString End If Return strTemp End Function |
2.上記と同じ事を正規表現を使って実現する方法 |
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click Label1.Text = System.Text.RegularExpressions.Regex.Replace(TextBox1.Text, "[\uFF61-\uFF9F]+", _ New System.Text.RegularExpressions.MatchEvaluator(AddressOf ReplaceCC)) End Sub Private Function ReplaceCC(ByVal m As System.Text.RegularExpressions.Match) As String Dim s As String = m.ToString s = StrConv(s, VbStrConv.Wide) Return s End Function |
3. |
4. |
5. |
6. |
検索キーワード及びサンプルコードの別名(機能名) |