c#中substring()函数,只能取从索引0位置到某个索的值,或者是只能取从某个索引值开始直止结束位置的内容吗?难道不能取中间值吗?比如:  
this.currentTemplate.Body.Substring(this.currentTemplate.Body.IndexOf("searchStart",this.currentTemplate.Body.IndexOf("searchEnd"))),难道不能取了符串中间searchStart和searchEnd之间的值吗?见鬼,我使了,为什么就不行呢?

解决方案 »

  1.   

    string str="";string startIndexStr="searchStart";
    string endIndexStr="searchEnd";int startIndex = startIndexStr.Length + str.IndexOf(startIndexStr);
    int length = str.IndexOf(endIndexStr) - startIndex;
    string queryStr = str.Substring(startIndex, length+1);
      

  2.   

    用2楼的方法
    string str=""; string startIndexStr="searchStart"; 
    string endIndexStr="searchEnd"; int startIndex = startIndexStr.Length + str.IndexOf(startIndexStr); 
    int length = str.IndexOf(endIndexStr) - startIndex; 
    string queryStr = str.Substring(startIndex, length+1);
    支持下辛苦代码!
      

  3.   

    substring(startIndex , length) 可以传递两个参数的啊
    一个是起始位置
    一个是长度啊[可选的]
    你想从哪个位置传递都是可以的啊
      

  4.   

      
    string Allchecktext="abcdefghi";
    string YY= Allchecktext.Substring(0, Allchecktext.Length - 1);//第一个参数表示起始位置,后一个表示结束位置,只要你改变参数就可以实现你想要的结果