现有字符串:"xyxdlskdABCsdkfdsdfABCsdfabcsdkfABC"
如何取出从ABC开始到下一个ABC出现的所有子子符串。

解决方案 »

  1.   


    string str = "xyxdlskdABCsdkfdsdfABCsdfabcsdkfABC";
    foreach (string s in str.Split(new string[]{"ABC"}, StringSplitOptions.RemoveEmptyEntries))
    {
    Console.WriteLine(s);
    }输出:
    xyxdlskd
    sdkfdsdf
    sdfabcsdkfstr.Split的结果是一个数组,如果不要第一条,可以从1开始
      

  2.   

    正则:(?i)(?<=abc)[\s\S]*?(?=abc)
    using System.Text.RegularExpressions;
    Regex reg=new Regex(@"(?i)(?<=abc)[\s\S]*?(?=abc)");
    string result=string.Empty;
    foreach(Match m in reg.Matches("你的字符串"))
    {
     result+=m.Value+"\r\n";
    }