文字列から0-9の数字のみを返す
2023-09-21 16:24:36
質問
VBScriptと.NETで使用できる、文字列の中にある数字だけを返す正規表現が必要です。
例えば、次の"strings"のいずれかが、以下のものだけを返す必要があります。 1231231234
- 123 123 1234
- (123) 123-1234
- 123-123-1234
- (123)123-1234
- 123.123.1234
- 123 123 1234
- 1 2 3 1 2 3 1 2 3 4
これは、顧客が電子メールで提供する可能性のある電話番号を見つけ、データベース検索を行うために、電子メールパーサーで使用されるでしょう。
似たような正規表現を見逃したかもしれませんが、regexlib.comで検索しました。
[EDIT] - RegexBuddy を設定した後、musicfreak さんの回答を追加しました。
VBScript コード
Dim myRegExp, ResultString
Set myRegExp = New RegExp
myRegExp.Global = True
myRegExp.Pattern = "[^\d]"
ResultString = myRegExp.Replace(SubjectString, "")
VB.NET
Dim ResultString As String
Try
Dim RegexObj As New Regex("[^\d]")
ResultString = RegexObj.Replace(SubjectString, "")
Catch ex As ArgumentException
'Syntax error in the regular expression
End Try
C#
string resultString = null;
try {
Regex regexObj = new Regex(@"[^\d]");
resultString = regexObj.Replace(subjectString, "");
} catch (ArgumentException ex) {
// Syntax error in the regular expression
}
どのように解決するのですか?
VBScript に何らかの "正規表現の置換" 機能があるかどうかは知りませんが、もしあれば、この疑似コードのようにすることができます。
reg_replace(/\D+/g, '', your_string)
VBScriptを知らないので正確なコードは言えませんが、これで数字でないものは削除されます。
編集:グローバルフラグ(正規表現の最後の "g" )があることを確認してください。そうしないと、文字列内の最初の数字でないものにのみマッチします。
関連
-
[解決済み】非静的メソッドはターゲットを必要とする
-
[解決済み] リフレクションを使用して文字列からプロパティ値を取得する
-
[解決済み] C#のStringとstringの違いは何ですか?
-
[解決済み] C#でenumからint値を取得する
-
[解決済み] C#のマルチライン文字列リテラル
-
[解決済み] IList<string> または IEnumerable<string> からカンマ区切りリストを作成する。
-
[解決済み] 文字列からダッシュ以外のすべての英数字を削除するには?
-
[解決済み】大文字・小文字を区別しない「Contains(string)
-
[解決済み】Javascriptで括弧の間の文字列を取得する正規表現
-
[解決済み】オブジェクトからプロパティを削除する(JavaScript)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】"出力タイプがクラスライブラリのプロジェクトは直接起動できない"
-
[解決済み】"The ConnectionString property has not been initialized "を修正する方法
-
[解決済み] [Solved] アセンブリ System.Web.Extensions dll はどこにありますか?
-
[解決済み】C# - パスに不正な文字がある場合
-
[解決済み】Visual studio 2019がデバッグ時にフリーズする件
-
[解決済み】HRESULTからの例外:0x800A03ECエラー
-
[解決済み】Visual Studio: 操作を完了できませんでした。パラメータが正しくありません
-
[解決済み】Microsoft.Extensions.LoggingからILoggerを解決することができない
-
[解決済み】Nullableオブジェクトは値を持たなければならない?
-
[解決済み] 文字列から数字を検索して取り出す