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如何使用此正则表达式过滤逗号?如果字符串中有字符使其无效,您确定哪些字符无效的标准是什么?删除字符很容易。知道哪些用户不想成为合法号码的一部分,就不那么多了。请改进您的问题,以便清楚准确地解释此处的规则,以及您在实现时遇到的具体问题。您应该使用生成表达式树的表达式解析器。通过这种方式,可以分别验证每个操作数。这是解析或计算方程的最好方法。谢谢男人们,这就是我一直在寻找的东西。谢谢