C# 解析“中的数字列表”;肮脏的;一串
我有一个字符串,其中包含整数,由任意数字和符号类型分隔,例如: fr365.43//236huC# 解析“中的数字列表”;肮脏的;一串,c#,.net,string,C#,.net,String,我有一个字符串,其中包含整数,由任意数字和符号类型分隔,例如: fr365.43//236hu 并想把它转换成一个365、43和236的数字列表。有没有简单的方法可以做到这一点?使用正则表达式可以从“脏”字符串中提取数字 var r = new Regex(@"\d+"); var result = r.Matches("fr365.43//236hu"); foreach (Match match in result) { Console.WriteLine(match.Value);
并想把它转换成一个365、43和236的数字列表。有没有简单的方法可以做到这一点?使用正则表达式可以从“脏”字符串中提取数字
var r = new Regex(@"\d+");
var result = r.Matches("fr365.43//236hu");
foreach (Match match in result)
{
Console.WriteLine(match.Value);
}
// outputs 365 then 43 then 236
使用正则表达式可以从“脏”字符串中提取数字
var r = new Regex(@"\d+");
var result = r.Matches("fr365.43//236hu");
foreach (Match match in result)
{
Console.WriteLine(match.Value);
}
// outputs 365 then 43 then 236
使用和使用以下模式:
(\d+)
然后使用和以下模式转换为int.:
(\d+)
然后转换为整数。您可以使用
Split
方法,如果您有更多的分隔符,您也应该包括它们:
str.Split('.','/').Select(x => x.All(char.IsDigit))
.Select(int.Parse)
.ToList();
您可以使用
Split
方法,如果您有更多的分隔符,您也应该包括它们:
str.Split('.','/').Select(x => x.All(char.IsDigit))
.Select(int.Parse)
.ToList();
从字符串中提取整数的方法:
var res = Regex.Split(str, @"\D+").Where(x => x.Length > 0).Select(int.Parse).ToArray();
从字符串中提取整数的方法:
var res = Regex.Split(str, @"\D+").Where(x => x.Length > 0).Select(int.Parse).ToArray();
结果是一个IEnumerable,包含以下内容:
365
43
236
结果是一个IEnumerable,包含以下内容:
365
43
236