你在帮助中查找split,这个方法可以帮助你完成你想做的事,可以向用split("<--")将字符串拆成abc、efg-->hik、lmn、opq-->、uvw这么一个数组,你再用split("-->")再做一次,自己在排一下序就得到你想要的东西了。

解决方案 »

  1.   

    可以用正则表达式
    比如:/<--(\.|\n)*-->$/  匹配<--和-->之间的所有字符。
      

  2.   

    错了,第一次拆出的数组是:abc    efg-->hik    lmn     opq-->rst-->uvw这么个四个字符串的数组。
      

  3.   


    int i = strSplit.IndexOf("<--");
    int j = strSplit.IndexOf("-->",i);
    strText = strSplit.Substring(i+3,j-3) ;
      

  4.   

    用正则表达式string str=@"abc<--
             efg
          -->
       hik<--
             lmn
           <--
              opq
           -->rst
          -->uvw
    ";Regex re = new Regex(@"\<\-\-\s*(?<data>.*?)\s*\-\-\>",RegexOptions.IgnoreCase|RegexOptions.Singleline); Match m = re.Match(str);
    if (m.Success)
    {

    foreach(Match mcc in re.Matches(str))
    {
                                              MessageBox.Show(mcc.Groups[data].value);
                                          }
      

  5.   

    string[]strArray;
    char[]charArray=new char[]{'<--'};
    strArray=total.Split(charArray);
    //第一次分割字符串char[]charArray=new char[]{'-->'};
    strArray=total.Split(charArray);
    //第二次分割字符串
      

  6.   

    string s = @"abc<-- " +
               "  efg ad  " +
        "  --> " +
       "hik<-- " + 
          "  lmn " +
          " <-- " +
          "    opq " + 
          " -->rst " +
          "-->uvw";
    string pattern = @"\s*<?-->?\s*";
    Regex r = new Regex(pattern);
    string[] result = r.Split(s);
    foreach(string re in result)
      Console.WriteLine(re);
    }
      

  7.   

    上面这句 string pattern = @"\s*<?-->?\s*";  是什么意思,请教  呵呵 解答一下好吗?
      

  8.   

    我知道是正则表达式 ,想问一下怎么理解\s 表示匹配任何空字符,* 表示产生零次或者多次<?表示<产生零次或者一次    -->也是产生零次或者是一次后面又是 \s* 表示零次或者多次空白字符可是为什么不用<--来限制还有,需要提取的字符又在什么地方呢?请帮忙
      

  9.   

    为什么不自己编程解决呢?
    string str=" <--  jsoe slfeo wjid eij  __ --> ";
    string temp;
    for(int i=0;i<str.Length;i++)
    {
      temp+=str[i];
      if(IsTheKeyWordYouWantAnalyze(temp))
      {     .....
            DoYourWork;
            temp=null;
      }
      else
            DoOtherThing;
    }
    in function IsTheKeyWordYouWantAnalyze,you could check that if temp is the keyword. what the most important is implement your own splitting syntax.
      

  10.   

    pattern改为:
    string pattern = @"\s*<--\s*|\s*-->\s*";
    Regex r = new Regex(pattern);
    string[] result = r.Split(s);@"\s*<--\s*|\s*-->\s*"表示像: 空空<--空空,空空-->空空 或是没有空的字串
    r.Split(s)表示用pattern来分割(就如string.Split一样)需要提取的字符在result中
      

  11.   

    用正则表达式可以很快的得到我想要的结果。
    字符串是可以解析出来了,但是我想把解析出来的字符串用另外的字符串替换掉,这又如何实现呢?
    比如我想把解析出来的“efg”这个字符串替换成“GetName()”,正则表达式可以实现吗?
      

  12.   

    string s = @"abc<-- " +
               "  efg " +
        "  --> " +
       "hik<-- " + 
          "  lmn " +
          " <-- " +
          "    opq " + 
          " -->rst " +
          "-->uvw";s = Regex.Replace(s,"efg","GetName()");