首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >解析字符串C# (可能使用Regex)

解析字符串C# (可能使用Regex)
EN

Stack Overflow用户
提问于 2018-03-31 23:42:30
回答 2查看 84关注 0票数 2

我正试图解析一行数学运算的代码。

例如: 4+18/(9-3)

我希望这些部分是: 4,+,18,/,(,9,-,3,和)。基本上,所有的数字,运算符和括号。

如果使用带分隔符的分隔符,则在找到分隔符时,它将移除分隔符。所以如果我用我的操作符作为分隔符,那么它们就被移除了。

我试着使用Regex.split,它包括了操作符,但不是我想要的。它产生类似于4+的结果,因为它包括4和加号。

以下是我一直在尝试的:

代码语言:javascript
运行
复制
        string convert = "4+8/(9-3)";

        string[] parts = Regex.Split(convert, @"(?<=[-+*/])");
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-04-01 00:04:49

根据我的评论,如果您打算使用它来计算一个数学表达式,就不应该使用Regex,因为您不能对正在解析的字符串有任何语法或语义理解。

如果你不打算这么做的话,这应该会很好

代码语言:javascript
运行
复制
([\d\.]+|[()e^/%x*+-])

Regexr示例

Dotnetfiddle示例

票数 4
EN

Stack Overflow用户

发布于 2018-03-31 23:48:26

嗯,我想这个问题可以用下面的正则表达式来解决。

代码语言:javascript
运行
复制
[-+*/\(\)]|\d+
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49593497

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档