gpt4 book ai didi

c#拆分字符串的输入

转载 作者:行者123 更新时间:2023-11-30 17:49:55 24 4
gpt4 key购买 nike

我最近在我的类(class)中从 C++ 转到了 C#,我已经查看了所有内容,但没有找到太多。我有以下问题。我应该能够让用户添加一个复数。例如

-3.2 - 4.1i 我想拆分并存储为 (-3.2) - (4.1i)

我知道我可以在 - 符号处拆分,但是有一些问题,比如

4 + 3.2i 甚至只是一个数字 3.2i。

如有任何帮助或见解,我们将不胜感激。

最佳答案

通过将所有有效输入与正则表达式匹配,之后就可以进行组装了。正则表达式的工作原理是

  • [0-9]+匹配0-n个数
  • [.]? 匹配 0 或 1 点
  • [0-9]+匹配0-n个数
  • i? 匹配 0 或 1 个“i”
  • |
  • [+-*/]? 匹配 0 或 1 个运算符 +、-、* 或/

.

public static void ParseComplex(string input)
{
char[] operators = new[] { '+', '-', '*', '/' };

Regex regex = new Regex("[0-9]+[.]?[0-9]+i?|[+-/*]?");
foreach (Match match in regex.Matches(input))
{
if (string.IsNullOrEmpty(match.Value))
continue;

if (operators.Contains(match.Value[0]))
{
Console.WriteLine("operator {0}", match.Value[0]);
continue;
}

if (match.Value.EndsWith("i"))
{
Console.WriteLine("imaginary part {0}", match.Value);
continue;

}
else
{
Console.WriteLine("real part {0}", match.Value);

}
}
}

关于c#拆分字符串的输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21192446/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com