Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从每个十进制数中删除字符串中的几个点/逗号_C#_.net_String - Fatal编程技术网

C# 从每个十进制数中删除字符串中的几个点/逗号

C# 从每个十进制数中删除字符串中的几个点/逗号,c#,.net,string,C#,.net,String,如何检查数字中的逗号 假设我有一个字符串,它表示一个多项式项,如下所示 string x = "x+1+5,54"; 现在用户想输入并添加一个逗号,它将是x1+5,54, 这不再是一个数字了。我怎样才能用if检查这个 例如,如果最后一个数字已经包含逗号,则不要附加另一个逗号。使用正则表达式 if (Regex.IsMatch(a, @"^((\d+,?\d*)|(\w?))([-+/]((\d+,?\d*)|(\w?)))*$")) {

如何检查数字中的逗号

假设我有一个字符串,它表示一个多项式项,如下所示

string x = "x+1+5,54";
现在用户想输入并添加一个逗号,它将是x1+5,54, 这不再是一个数字了。我怎样才能用if检查这个


例如,如果最后一个数字已经包含逗号,则不要附加另一个逗号。

使用正则表达式

        if (Regex.IsMatch(a, @"^((\d+,?\d*)|(\w?))([-+/]((\d+,?\d*)|(\w?)))*$"))
        {
            //correct
        }
        else
        {
            //incorrect
        }

当用户输入额外的逗号时,您将得到false,这样您就可以处理它。

如果您使用“,”作为十进制分隔符,则可以使用正则表达式,只需将regex从example更改为^[-+/*]\d+,\d+?*我建议您寻找第三方库,可以从字符串解析公式以验证它们,而不是自己实现。@Dzianiskapuk如何使用此正则表达式过滤逗号?如果字符串中有字符使其无效,您确定哪些字符无效的标准是什么?删除字符很容易。知道哪些用户不想成为合法号码的一部分,就不那么多了。请改进您的问题,以便清楚准确地解释此处的规则,以及您在实现时遇到的具体问题。您应该使用生成表达式树的表达式解析器。通过这种方式,可以分别验证每个操作数。这是解析或计算方程的最好方法。谢谢男人们,这就是我一直在寻找的东西。谢谢