C# Regex Split - everything inside square brackets

后端 未结 2 1744
感动是毒
感动是毒 2020-11-27 16:33

I\'m currently trying to split a string in C# (latest .NET and Visual Studio 2008), in order to retrieve everything that\'s inside square brackets and discard the remaining

相关标签:
2条回答
  • 2020-11-27 16:58

    Try this

    string mystr = "Hello my name is  {robert} and i live in  {florida}";
    
    List<string> myvariables = new List<string>();
    while (mystr.Contains("{"))
    {
        myvariable.Add(mystr.Split('{', '}')[1]);
        mystr = mystr.Replace("{" + mystr.Split('{', '}')[1] + "}", "");
    };
    

    This way I will have an array which will contain robert and florida.

    0 讨论(0)
  • 2020-11-27 17:17

    Split won't help you here; you need to use regular expressions:

    // using System.Text.RegularExpressions;
    // pattern = any number of arbitrary characters between square brackets.
    var pattern = @"\[(.*?)\]";
    var query = "H1-receptor antagonist [HSA:3269] [PATH:hsa04080(3269)]";
    var matches = Regex.Matches(query, pattern);
    
    foreach (Match m in matches) {
        Console.WriteLine(m.Groups[1]);
    }
    

    Yields your results.

    0 讨论(0)
提交回复
热议问题