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

parsing a string which has parenthesis and comma seperated values

本文关键字:分隔 字符串      更新时间:2023-10-16

我有一个这样的字符串:

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不包含任何内容

您可以将其视为一个文件系统
在具有()的输入字母上是文件夹
剩下的是文件
解析此字符串的正确方法是什么
正则表达式、堆栈函数还是简单的字符串解析函数?如何

我认为简单的堆栈和字符串方法就足够了遍历字符串中的每个字符制作一个名为url的堆栈当您看到"(")"或","字符时,对其进行解析当您看到"("字符将x(x)推到堆栈时当你看到")"字符弹出堆栈

您将有一个令牌,其url指向它所属的位置