根据用户输入,请参阅数组的特定索引

时间:2017-09-09 10:14:30

标签: c# arrays string sorting

尝试制作程序,从用户处获取方程并输出答案。必须开发所有代码才能工作,并想知道如何在特定索引的任一侧引用数组索引值?

示例 用户输入:X = 5 + 5 * 6

希望能够找到*****并检索 5 &的价值。 6 它的任何一方。尝试了多件事,并尝试在这里搜索,找不到答案。

提前感谢任何需要时间帮助的人!

1 个答案:

答案 0 :(得分:0)

一种方法是使用正则表达式。我会首先删除所有空格以使其更容易。例如:

string input = "X = 5 + 5 * 6";
Regex r = new Regex(@"(\d+)\*(\d+)");
Match m = r.Match(input.Replace(" ", ""));
var a = m.Groups[1].Value; // a = 5
var b = m.Groups[2].Value; // b = 6

可以在此处找到此正则表达式的说明:https://regex101.com/r/k7rthI/1

当等式变得更复杂时,你必须改进正则表达式以处理小数和许多其他情况。如果你变得比你拥有的更复杂的话,这是一个长长的黑兔洞。所以你最好找一个可以使用的数学库。没有理由重新发明轮子。