我正在尝试解析一行代码以进行数学运算。
如:4+18/(9-3)
我希望这些部分为:4、+、18、/、(、9、-、3 和 )。 基本上,所有数字、运算符和括号。
如果我将 split 与分隔符一起使用,它会在找到分隔符时将其删除。因此,如果我使用运算符作为分隔符,那么它们就会被删除。
我尝试使用 Regex.split,它包含运算符,但不是我想要的方式。它会产生类似 4+ 的结果,因为它包括 4 和加号。
这是我一直在尝试的:
string convert = "4+8/(9-3)";
string[] parts = Regex.Split(convert, @"(?<=[-+*/])");
最佳答案
根据我的评论,如果您打算使用它来评估数学表达式,则不应使用正则表达式,因为您无法对正在解析的字符串有任何语法或语义理解。
如果您不打算这样做,这应该可以正常工作
([\d\.]+|[()e^/%x*+-])
关于c# - 解析字符串 C#(可能使用正则表达式),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49593497/