~~~100分求一问题--截取字符串方法, 马上兑现,分不够再加~~~
我截取出来的字符串是这样的 
 2001/06--2006/09湖南中南林学院计算机科学与技术大专.......   (中间无空格,专业后面可能还有字) 
 描述: 
 1.前面的日期2001/06--2006/09   能否截取下来,   而且变成DATATIME型,或YY-MM字符 
 2.后面的学校能否弄出来呢      还有专业,学历(后面还有其他的字,切不管他)   
 我想不出来什么好办法,也许用正则,可是我太菜了 
 希望各位高手帮个忙,如果可以,我单开贴,一次100!!      呵呵,因为着急,请理解,最后谢谢大家了~~中秋快乐~~
------解决方案--------------------你多举个有代表性的例子或许好点 
------解决方案--------------------截取--之前7位和后面7位?
------解决方案--------------------2001/06--2006/09湖南中南林学院计算机科学与技术大专.......    
 可以用substring() 方法,或 indexof();
------解决方案--------------------2001/06--2006/09湖南中南林学院计算机科学与技术大专.......    
 可以用substring() 方法,或 indexof();   
 如:string s =  "2001/06--2006/09湖南中南林学院计算机科学与技术大专 "; 
  string str = s.substring(1,16);    
 此时得到的就是你要的日期了!
------解决方案--------------------日期和学历应该比较容易取到, 
 日期格式的字数是固定的,学历是几个固定的名词,日期可以直接SubString,学历用Indexof 
 ,再研究学校和专业之间的规律吧,感觉这个比较麻烦 
 看高手的解决方法
------解决方案--------------------这是没有规律可循的   
 只有一个办法,生产出这个字符串的人是个stupid,你先骂他一顿,然后让重新设计
------解决方案--------------------湖南中南林学院计算机科学与技术大专.......  
 把专业和学校分开,本人的想法是需要存储专业的名称,有存储的专业的名称来判断字段中的专业是什么,然后取出来,相应的在取出专业的时候获得该专业所在的Indexof的位置,然后分割出来学校名称   
 感觉这样的效率太低
------解决方案--------------------2001/06--2006/09湖南中南林学院计算机科学与技术大专...... 
 如果后面不再有数字或/符号,可以取最后一个数字或者最后一个/加后两位啊
------解决方案--------------------string Str =  "2001/06--2006/09湖南中南林学院计算机科学与技术大专....... "; 
         string[] StrArray = Str.Split( '/ '); 
         DateTime Dt1 = DateTime.ParseExact(StrArray[0] + StrArray[1].Substring(0, 2),  "yyyyMM ", System.Globalization.CultureInfo.InvariantCulture); 
         DateTime Dt2 = DateTime.ParseExact(StrArray[1].Substring(4, 4) + StrArray[2].Substring(0, 2),  "yyyyMM ", System.Globalization.CultureInfo.InvariantCulture); 
         this.Response.Write(Dt1.ToString( "yyyy/MM ") +  "-- " + Dt2.ToString( "yyyy/MM "));
------解决方案--------------------只能用死方法啦   
 前面 截时间没什么好说的,直接取多少位,然后转换成时间就可以了   
 本科 什么也好取,肯定是2个字,直接拿掉就可以了   
 之后的字符则采取 
 string adbStr =  "玉林师院计算机科学与技术 "; 
 int length = adbStr.Length; 
 int nameLength;//记录学院名称长度的 
 for(int i=0;i <length;i++) 
 { 
 string ceshi = adbStr.Substring(i,length); 
 switch(ceshi) 
 { 
 case  "计算机科学与技术 ": 
    nameLength = i; 
    break; 
 - 
 -把学科名称列举出来比对 
 - 
 - 
 } 
 } 
 这样就可以实现取学校名称了     
 方法笨了点,但能实现
------解决方案--------------------学校专业就重新设计了,你学校不一样字数就不一样根本没有规律怎么取?
------解决方案--------------------所以用 case 循环比对,  因专业 名称 就那么几个,而且各个学校一样,拿去比对,对上了就是 ,然后就跳出这个 循环就可以了
------解决方案--------------------没有具体的格式规则 怎么写啊?
------解决方案--------------------string str =  "2001/06--2006/09湖南中南林学院计算机科学与技术大专 "; 
         Match m = Regex.Match(str, @ "^(\d{4}/\d{2}--\d{4}/\d{2})(\w*?)(院|大学)(\w*?)(大专|本科) ", RegexOptions.Multiline);