Math 计算c#中的数学表达式,如果它存在,则应处理空白
我尝试使用以下代码来计算数学表达式。目前,表达式解析器仅在每个字符之间都有空格的情况下工作。例:(x+y)*2。。。。如果表达式为(x+y)*2,则表达式不求值。尝试使用正则表达式,以便表达式计算时使用空格或不使用空格,但仍然无法达到目标。非常感谢您的指导/帮助Math 计算c#中的数学表达式,如果它存在,则应处理空白,math,Math,我尝试使用以下代码来计算数学表达式。目前,表达式解析器仅在每个字符之间都有空格的情况下工作。例:(x+y)*2。。。。如果表达式为(x+y)*2,则表达式不求值。尝试使用正则表达式,以便表达式计算时使用空格或不使用空格,但仍然无法达到目标。非常感谢您的指导/帮助 using System; using System.Text.RegularExpressions; public class Example { public static void Main() { st
using System;
using System.Text.RegularExpressions;
public class Example
{
public static void Main()
{
string input = "(x + y)*2";
string pattern = "\\s+";
string replacement = " ";
Regex rgx = new Regex(pattern);
string result = rgx.Replace(input, replacement);
Console.WriteLine("Original String: {0}", input);
Console.WriteLine("Replacement String: {0}", result);
}
}
如果两个术语之间有多余的空格可以,请尝试以下代码:
public static void Main()
{
string input = "(x + y)*2";
string pattern = "";
string replacement = " ";
Regex rgx = new Regex(pattern);
string result = rgx.Replace(input, replacement);
Console.WriteLine("Original String: {0}", input);
Console.WriteLine("Replacement String: {0}", result);
}
在上面的输出中,您希望替换字符串是什么?您对输出中的额外空格是否满意,例如:
(x+y)*2
?谢谢。尝试了上面的代码,它在表达式ex:(x+y)*2的每个字符之间插入空格,这很好,因为我现在可以计算带空格或不带空格的表达式。如果输入已经包含空格,如何修改代码以避免插入额外的空格。例如:如果我输入(x+y)*2,通过使用上述代码,我得到的输出为(x+y)*2。是否可以仅在输入没有空格时插入空格,在其他情况下,修剪现有的一个额外空格。请让我知道。@Manisha添加另一个答案,这不是一个好方法,但会得到正确的结果。
public static void Main()
{
string input = "(x + y)*2";
string pattern = "";
string replacement = " ";
Regex rgx = new Regex(pattern);
string result = rgx.Replace(input, replacement);
pattern = " ";
replacement = " ";
rgx = new Regex(pattern);
result = rgx.Replace(result, replacement);
Console.WriteLine("Original String: {0}", input);
Console.WriteLine("Replacement String: {0}", result);
}