stringから番号IDだけを取得したいとします。結果:123456Regexを使ってStringからIDを取得する方法
var text = "http://test/test.aspx?id=123456dfblablalab";
EDIT:
申し訳ありませんが、別の番号をテキストにすることができます。私はIDの後に最初の番号を取得したい。
var text = "http://test/test.aspx?id=123456dfbl4564dsf";
stringから番号IDだけを取得したいとします。結果:123456Regexを使ってStringからIDを取得する方法
var text = "http://test/test.aspx?id=123456dfblablalab";
EDIT:
申し訳ありませんが、別の番号をテキストにすることができます。私はIDの後に最初の番号を取得したい。
var text = "http://test/test.aspx?id=123456dfbl4564dsf";
用途:参考のため
Regex.Match(text, @"id=(\d+)").Groups[1].Value;
誰かがあなたのC#実装を提供しますが、それは一致します
/[\?\&]id\=([0-9]+)/
の線に沿ってだのいずれか&id=123456fkhkghkf
または?id=123456fjgjdfgj
(そう、それはURLであるところはどこでも、それは値を取得します)数字をマッチとしてキャプチャします。
を、 ''、 '? & 'と' = 'はエスケープする必要はありません。少なくとも私が見た正規表現のほとんどのフレーバーでは - 実際には '[]'の中でエスケープする必要はほとんどなく、 '='は特別な文字ではありません。 – cHao
非常に可能性が高いですが、私はC#を知らないので、私はそれらをエスケープしました。それを必要としない文字をエスケープすると、何も害を及ぼさないので、ごめんなさいより安全です。 – Joe
正規表現のフレーバーに依存します。いくつかのフレーバーでは、特別な文字はエスケープされない限り特殊ではありません。 :P Viはその点で特に厄介な傾向があります。 vimは、少なくとも、「魔法」の4つの異なる設定があります。 – cHao
それは文脈に依存 - あなたがウリとクエリ文字列の構文解析されているように、この場合にはそれが見えます:
var text = "http://test/test.aspx?id=123456dfblablalab";
Uri tempUri = new Uri(text);
NameValueCollection query = HttpUtility.ParseQueryString(tempUri.Query);
int number = int.Parse(new string(query["id"].TakeWhile(char.IsNumber).ToArray()));
お返事ありがとうございます。 – sinanakyazici
@ sinanakyazici、よろしくお願いします。 –