美文网首页
如何正确获取匹配的括号

如何正确获取匹配的括号

作者: YChristina | 来源:发表于2018-01-06 11:54 被阅读0次

题目意思解析:

{Group1}

Example1{Item1} , Example2{Item2}

Key{Example1{Item1},Example2{Item2}}, Value{Example1{Item1},Example2{Item2}}

诸如这样的形式,我们往往需要准确的得到分组,这就需要我们找倒每一个“{”对应的“}(这里不仅仅限于{},任何符号都可以,只要定义成对即可),很显然,用string.Split(); 是行不通的。

解决方案:

我们可以利用栈来实现,栈最大的特点就是先进后出,括号匹配也是一样的,最前面的括号肯定试和最后面的括号匹配,所以用栈实现比较合适。

方案代码:

传入需检测的字符串,得到第一个‘{’对应的‘}’的位置

int MatchedPosition(string testString)

{

int end = 0;

Stack stack = new Stack();

for (int i = 0; i < testString.Length; i++)

{

switch (testString[i])

{

case '{':

stack.Push(i);

break;

case '}':

stack.Pop();

end = stack.Any() ? 0 : i;

break;

}

}

return end;

}

相关文章

网友评论

      本文标题:如何正确获取匹配的括号

      本文链接:https://www.haomeiwen.com/subject/bccynxtx.html