我正在尝试为一个应用程序编写一个方法,它采用像"CH3COOH"这样的化学式,并返回一些充满符号的集合.
CH3COOH会返回[C,H,H,H,C,O,O,H]
我已经有了一些有点工作的东西,但它非常复杂并且使用了大量嵌套if-else结构和循环的代码.
有没有办法可以通过使用String.split的某种正则表达式或者其他一些简单的代码来实现这一点?
如果我给它一个BNF语法,我正在寻找能够构建解析器(在C#中)的工具(例如http://savage.net.au/SQL/sql-2003-2.bnf)
这样的发电机存在吗?