【发布时间】:2013-05-08 00:46:34
【问题描述】:
我正在尝试将它从 java 转换为 C#,并且除了分词器之外几乎已经完成了所有工作。我知道您在 C# 中使用 split 但我似乎无法弄清楚。程序需要拆分用户输入的方程(4/5 + 3/4)是没有括号的格式。任何帮助都会很棒。
// read in values for object 3
Console.Write("Enter the expression (like 2/3 + 3/4 or 3 - 1/2): ");
string line = Console.ReadLine();
// Works with positives and neagative values!
// Split equation into first number/fraction, operator, second number/fraction
StringTokenizer st = new StringTokenizer(line, " ");
string first = st.nextToken();
char op = (st.nextToken()).charAt(0);
string second = st.nextToken();
稍后我将需要符号(+、-、* 或 /),并需要检查它是否是我在代码中紧随其后执行的整数。下面是我尝试过的一种,但我被字符卡住了。
char delimeters = ' ';
string[] tokens = line.Split(delimeters);
string first = tokens[0];
char c = tokens[1]
【问题讨论】:
-
我不确定我是否理解你的问题是否正确,但我认为应该是
char c = tokens[1][0] -
我不确定这是否可行?如果我需要澄清任何事情,请告诉我。
-
顺便说一句,如果您要使用 float.Parse,请注意本地化。 (stackoverflow.com/questions/147801/best-way-to-parse-float)