C# 使用 REGEX 或不同的东西去除不需要的数据

所以我想从一个字符串条数据,因为我有一个WPF“预置”输入,它看起来像__,___,现在用户必须输入类似30,589,但是当用户只给出了5或者50,它需要剥离休息(保持的,),以使propperly浮法输入值的。我现在的代码是这样的;


if (inp_km.Text == "__,___")

{

    team_results.results[inp_tour_part.SelectedIndex].km = 

        float.Parse("00,000", 

                    NumberStyles.AllowDecimalPoint, 

                    CultureInfo.GetCultureInfo("nl-NL")); // Give the new value

}

else

{

    team_results.results[inp_tour_part.SelectedIndex].km = 

        float.Parse(inp_km.Text, 

                    NumberStyles.AllowDecimalPoint, 

                    CultureInfo.GetCultureInfo("nl-NL")); // Give the new value

}

但是这段代码只是检查输入是否留空......有人可以帮我吗?


慕斯709654
浏览 173回答 1
1回答

慕的地10843

因此,您要检查输入是否采用以下两种形式之一:12,345或12:34。这可以Regex很容易地使用。static void Main(string[] args){    var inputComma = "12,345";    var inputColon = "98:76";    Regex regexComma = new Regex(@"^\d{2},\d{3}$");    Regex regexColon = new Regex(@"^\d{2}:\d{2}$");    var matchComma = regexComma.Match(inputComma);    if (matchComma.Success)    {                        Console.WriteLine(inputComma);    }    Console.WriteLine();    var matchColon = regexColon.Match(inputColon);    if (matchColon.Success)    {        Console.WriteLine(inputColon);    }    Console.ReadLine();}笔记:您还没有完全阐明输入的有效格式。12,345如果存在逗号(即,两位数字后跟一个逗号,后跟三位数字),则以上将严格评估格式为真,而对于冒号,只有格式的12:34数字(冒号前后两位数字)。您可能希望Regex根据您的确切标准修改您的。
打开App,查看更多内容
随时随地看视频慕课网APP