【发布时间】:2013-10-17 12:58:49
【问题描述】:
我有一个字符串列表,其中一个项目类似于textItem1 = "Brown, Adam. (user)(admin)(Sales)",我总是必须从最后一对括号中提取文本,在本例中为Sales。
我尝试了以下方法:
string name = DDlistName.SelectedItem.ToString();
int start = name.IndexOf("(");
int end = name.IndexOf("(");
string result = name.Substring(start + 1, end - start - 1);
_UILabelPrintName.Text = result;
问题:这总是从第一对括号中挑选文本,在本例中为 user。
阅读大量类似问题的答案后,我意识到在这种情况下可能不推荐使用正则表达式(尝试其他代码也没有特别成功)。然而,任何可以完成任务的简短例程的帮助将不胜感激。
【问题讨论】:
-
因为 textItem 也可以有嵌套括号。如“Brown, Adam.(user)((ADM)admin(offshore))(Sales)”。 (stackoverflow.com/a/546457/1108500)
-
啊啊,这让答案变得更复杂了 =)
-
在这些情况下,编写一个解析器使用您的输入字符串应该没有问题,例如stackoverflow.com/a/524624/524475
-
但由于最后一个词总是在一对括号内,@jltrem 的解决方案似乎奏效了。但是我不知道这是否是完成这项任务的有效方法。
标签: c# asp.net parentheses text-extraction