- ベストアンサー
文字列から半角数字以外を除去したい
いつもお世話になっております。 現在、SQLServer2000(SP4)、Visual Basic6.0(SP5)を使って開発しています。 ある文字列から、半角数字以外を除去したいのですが、対象データの数が多いので、ループさせたりして、時間が掛かる処理は避けたいと思っています。 なるべく簡単な操作で文字列から半角数字以外を除去する方法を御存知でしたら教えてください。 【やりたい事の例】 ・0120-123-123 → 0120123123 ・a123456 → 123456 以上、宜しくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
お世話になります。 プロジェクトの参照設定で Microsoft VBScript Regular Expressions 5.5 にチェックを入れます。 以下のような感じで、RegExp.Replace を実行します。 Dim reg As RegExp Set reg = New RegExp reg.Pattern = "\D" reg.Global = True Dim str As String str = "0120-123-123" str = reg.Replace(str, "") Debug.Print str ' 0120123123 が出力される str = "a123456" str = reg.Replace(str, "") Debug.Print str ' 123456 が出力される Set reg = Nothing
その他の回答 (1)
力技ですが・・・。 Private Sub コマンド0_Click() Dim I As Integer Dim C As String For I = 1 To 26 C = Mid("-abcdefghikl;knopqrstuvwxyz", I, 1) CnnExecute "UPDATE TABLE1 SET Test=REPLACE(Test, '" & C & "', '');" Next MsgBox "終りました!" End Sub CnnExecute 関数は自作する必要があります。
お礼
回答、ありがとうございました。 でも今回は、No.1さんが教えてくださった、「正規表現」と言うものを使ってみたいと思います。 折角教えてくださったのに、申し訳ありません。
お礼
回答、ありがとうございました。 多分恥ずかしいことだと思うのですが、「正規表現」と言うものを知りませんでした。 今回の方法、大変勉強になりました。 どうもありがとうございました。