如何在括号之间包含文本

时间:2015-01-05 05:03:04

标签: c# regex

我的控制台应用程序中有3个不同的字符串值:

学生A(AA.1)

学生(1)B(AA.2)

学生B

想从backet获得价值:

AA.1,AA.2

感谢。我使用了分裂,但是因为学生B 没有任何括号会遇到错误而学生(1)B(AA.2)有2个括号。

当前代码

 char[] targetExpression = new char[] { '(', ')' };
 string title = "Student A (AA.1)";
 Console.WriteLine(title.Split(targetExpression)[1]);

2 个答案:

答案 0 :(得分:1)

寻找这样的东西?

/.*\(([^)]*)\)$/

答案 1 :(得分:0)

在字符中获取字符串的函数

string GetStirngWithiin(string SourceString, char startChar, char endChar,int StartFrom=0)
{
    SourceString = SourceString.Substring(StartFrom);
    int startFrom=SourceString.IndexOf(startChar);
    int EndAt=SourceString.IndexOf(endChar);
    if ((startFrom > -1) && (EndAt >-1))
    {
       int SubStrLength = EndAt - startFrom - 1;
        if (SubStrLength > 0)
        {
          string Result = SourceString.Substring(startFrom + 1, SubStrLength);
          return Result;
         }

      }
   return "";
}
  

您可以将函数调用用作

 string str1 = GetStirngWithiin("Student A (AA.1)",'(',')');
 string str2 = GetStirngWithiin("Student(1) B (AA.2))", '(', ')',10);

与学生B一起使用将返回一个空白字符串。

相关问题