strName = “BC1カンパニー”
という文字列を、"BC1カンパニー"のように、英数字だけ半角にしたいです。
StrConv(strName, VbStrConv.Narrow, &H411)
を行うと、"BC1カンパニー"のように、カタカナも半角になってしまいます。。。
アドバイスお願いします。
strName = “BC1カンパニー”
という文字列を、"BC1カンパニー"のように、英数字だけ半角にしたいです。
StrConv(strName, VbStrConv.Narrow, &H411)
を行うと、"BC1カンパニー"のように、カタカナも半角になってしまいます。。。
アドバイスお願いします。
こんにちは
とりいそぎ2案ほど
正規表現置換
System.Text.RegularExpressions.Regex.Replace(strName,"[A-Za-z0-9]+",Function(m) StrConv(m.Value, VbStrConv.Narrow, &H411))
Unicode正規化
strName.Normalize(System.Text.NormalizationForm.FormKC)
こちらは他の文字に影響を与える可能性があるかも
ありがとうございます!
1つ目にいただいた案で無事実装できました!
This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.