我有一个带有整数的字符串,它由任意数字和种类的符号分隔,例如:
fr365.43 // 236hu
并希望将其转换为数字365,43和236的列表。有一种简单的方法可以做到这一点吗?
答案 0 :(得分:2)
使用正则表达式,您可以从“肮脏的”中提取数字。串
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
答案 1 :(得分:1)
答案 2 :(得分:1)
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: 365 43 236
答案 3 :(得分:0)
您可以使用Split
方法,如果您有更多的分隔符,也应该包含它们:
str.Split('.','/').Select(x => x.All(char.IsDigit))
.Select(int.Parse)
.ToList();
答案 4 :(得分:0)
从字符串中提取整数的方法:
var res = Regex.Split(str, @"\D+").Where(x => x.Length > 0).Select(int.Parse).ToArray();