C# 如何使用多个拆分器值拆分字符串
我有以下格式的字符串:C# 如何使用多个拆分器值拆分字符串,c#,asp.net,string,C#,Asp.net,String,我有以下格式的字符串: 0Days0hours51Minutes32Seconds 我想做的是把它分成4个数值 days,hours,minutes,seconds 所以我需要返回的值是0,0,51,32 有没有更好的方法来实现这一点,通常的string.Split(…)方法 理想情况下,如果有字母分割,则只保留数值。string input=“0days0hours51分钟32秒”; string input = "0Days0hours51Minutes32Seconds"; var n
0Days0hours51Minutes32Seconds
我想做的是把它分成4个数值
days,hours,minutes,seconds
所以我需要返回的值是0,0,51,32
有没有更好的方法来实现这一点,通常的string.Split(…)
方法
理想情况下,如果有字母分割,则只保留数值。string input=“0days0hours51分钟32秒”;
string input = "0Days0hours51Minutes32Seconds";
var nums = Regex.Matches(input, @"\d+").Cast<Match>()
.Select(m => int.Parse(m.Value))
.ToList();
var nums=Regex.Matches(输入@“\d+”).Cast()
.Select(m=>int.Parse(m.Value))
.ToList();
string input=“0days0hours51分钟32秒”;
var nums=Regex.Matches(输入@“\d+”).Cast()
.Select(m=>int.Parse(m.Value))
.ToList();
您可以使用Regex.Match(String,@“\d+”)
仅检索数值。而不是使用String.Split(…)
您可以使用Regex.Match(String,@“\d+”)
仅检索数值。如果只需要数字而不关心字符串的其余部分,可以使用:
var numbers = Regex.Split(input, @"\D+");
string input = "0Days0hours51Minutes32Seconds";
var numbers = Regex.Matches(input, @"\d+")
.Cast<Match>()
.Select(m => int.Parse(m.Value));
我还建议您将这些值放入一个有用的结构中,如TimeSpan
:
var timespan = new TimeSpan(days, hours, minutes, seconds);
如果只需要数字而不关心字符串的其余部分,可以使用:
string input = "0Days0hours51Minutes32Seconds";
var numbers = Regex.Matches(input, @"\d+")
.Cast<Match>()
.Select(m => int.Parse(m.Value));
我还建议您将这些值放入一个有用的结构中,如TimeSpan
:
var timespan = new TimeSpan(days, hours, minutes, seconds);
使用正则表达式提取数字为什么不使用正则表达式?
regex.matches
数字?使用正则表达式提取数字为什么不使用正则表达式?regex.matches
数字?是的,regex。我知道我以前用过它,但我想不起来了。谢谢,是的,regex。我知道我以前用过它,但我想不起来了。谢谢