【发布时间】:2015-12-02 02:45:00
【问题描述】:
我有一个这样的字符串:
string astr = "a(b,c,u),d,e(f),g(),h,i(j(k,l,m(n))),r";
- a 包含 b,c,u
- e 包含 f
- i 包含 j
- j 包含 k,l,m
- m 包含 n
- r 不包含任何内容
您可以将其视为文件系统
在具有 () 的输入字母上是文件夹
剩下的就是文件
解析此字符串的正确方法是什么
正则表达式、堆栈函数或简单的字符串解析函数?以及如何?
【问题讨论】:
-
一个循环和一个堆栈来跟踪你的嵌套程度应该足够了。
-
如果你想要一个列表中的结果,一个带有非本地列表的递归调用堆栈是要走的路。
-
只要找到 '(' 就输入一个新的函数调用,并确保在 ')' 处退出。这不是火箭科学。