Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用正则表达式和c从字符串中获取数字部分#_C#_Regex - Fatal编程技术网

C# 使用正则表达式和c从字符串中获取数字部分#

C# 使用正则表达式和c从字符串中获取数字部分#,c#,regex,C#,Regex,有人想告诉我如何使用c#从这个字符串中得到整数部分吗 我一直在使用类似的东西,但没有让它正常工作 var getNumeric = new Regex(".*([0-9]+)"); 假设输入中只有一个数字,则表达式可以像\d+一样简单。仍然在这种假设下,对结果匹配使用ToString,将为您提供所需的内容 var regex = Regex.Match("/{localLink:1301}", @"\d+"); var result = regex.ToString(); 你的*太贪婪了。您

有人想告诉我如何使用c#从这个字符串中得到整数部分吗

我一直在使用类似的东西,但没有让它正常工作

var getNumeric = new Regex(".*([0-9]+)");

假设输入中只有一个数字,则表达式可以像
\d+
一样简单。仍然在这种假设下,对结果匹配使用
ToString
,将为您提供所需的内容

var regex = Regex.Match("/{localLink:1301}", @"\d+");
var result = regex.ToString();

你的
*
太贪婪了。您需要
*?
[^\d]*

new Regex( ".*?(\d+)" );
你可以试试这个

string output = new string(input.ToCharArray().Where(c => char.IsDigit(c)).ToArray());

请展示你尝试的全部内容,以及你得到的结果。阅读为什么比赛不应该贪婪?您希望捕获所有数字,而不仅仅是第一个。@vcjones,您希望数字部分是贪婪的,而不是指向数字部分的部分。
*
之前的
[0-9]+
与前3个数字匹配,因为
匹配任何字符。
string output = new string(input.ToCharArray().Where(c => char.IsDigit(c)).ToArray());