解析"dirty"中的数字列表字符串
本文关键字:quot 列表 字符串 数字 dirty 解析 | 更新日期: 2023-09-27 17:50:11
我有一个包含整数的字符串,这些整数由任意数字和符号分隔,例如:
fr365.43//236胡
,并希望将其转换为数字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
使用正则表达式。匹配以下模式:
('d+)
string s ="fr365.43//236hu";
string result = s.Split(s.Where(x=>!char.IsDigit(x))
.Select(x=>x).ToArray())
.Where(x=>!String.IsNullOrEmpty(x));
结果是一个IEnumerable,包含以下内容:36543236
你可以使用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();