解析具有括号和逗号分隔值的字符串

时间:2015-12-02 02:45:00

标签: c++ regex string parsing

我有一个这样的字符串:

string astr = "a(b,c,u),d,e(f),g(),h,i(j(k,l,m(n))),r";
  • a包含b,c,u
  • e包含f
  • 我包含j
  • j包含k,l,m
  • m包含n
  • r不包含任何内容

您可以将其视为文件系统
在输入字母上,()是文件夹
遗体是文件
什么是解析这个字符串的正确方法
正则表达式,堆栈函数还是简单的字符串解析函数?以及如何?

1 个答案:

答案 0 :(得分:1)

我认为简单的堆栈和字符串方法就足够了 遍历字符串上的每个字符 制作一个名为url的堆栈 当你看到“(”“)”或“,”字符解析它 当你看到“(”字符按x(x到堆栈) 当你看到“)”字符弹出堆栈

你将拥有一个令牌及其所属的网址