2

私は正規表現に本当に苦労しており、この文字列から数値を抽出できないようです

"id":143331539043251,

これで試してみました...しかし、コンパイルエラーが発生します

var regex = new Regex(@""id:"\d+,");

完全な文字列には、私が望まない他の数字が含まれていることに注意してください。id: と末尾の , の間に数字が必要です

4

3 に答える 3

4

このコードを試してください:

var match = Regex.Match(input, @"\""id\"":(?<num>\d+)");
var yourNumber = match.Groups["num"].Value;

次に、抽出されyourNumberた数値を文字列として使用するか、数値型に解析します。

于 2013-03-03T14:53:32.193 に答える
3

数字だけが必要な場合は、それを照合します。

[0-9]+

.NET 正規表現エンジンの任意の数字 (アラビア数字など) に\d一致するので、使用していないことに注意してください。


更新、質問とこの回答に関するコメントに従ってください。次の正規表現はパターンに一致し、一致した番号をキャプチャ グループに配置します。

@"""id"":([0-9]+),"

使用されます:

Regex.Match(@"""id"":143331539043251,", @"""id"":([0-9]+),").Groups[1].Value

を返します143331539043251

于 2013-03-03T14:47:48.243 に答える
2

LINQ の使用にオープンな場合は、次の (c#) を試してください。

string stringVariable = "123ccccccbb---556876---==";

var f = (stringVariable.ToCharArray() の a から、Char.IsDigit(a) == true を選択);

var number = String.Join("", f);

于 2014-08-21T14:47:26.877 に答える