例如“USE Database
      SELECT id,name 
      FROM SYSOBJECTS 
      WHERE xtype='U' AND name NOT LIKE 'sys%'”如何能够把其中的“SELECT”截取出来呢?Database的长度是不定性的

解决方案 »

  1.   

    LZ的意思是截取SELECT和FROM之间的字符串呢?还是只截取SELECT这个字符串?
      

  2.   

    把Select整条语句截取出来:
            string a = "USE Database SELECT id,name FROM SYSOBJECTS WHERE xtype='U' AND name NOT LIKE 'sys%'";
           string b = a.Substring(a.IndexOf("SELECT"), a.Length - a.IndexOf("SELECT"));//仅把Select截取出来
    string c = a.Substring(a.IndexOf("SELECT"), 6);
      

  3.   

    你都知道 SELECT 了直接 string s = "SELECT"; 多方便啊!!!
      

  4.   

    无论LZ需要截取哪种,我给个思路:
    1.string str1="全句";
    利用int i=str.IndexOf("SELECT")+7;     //获取要截取字符串的第一个字符位置
        int j=str.IndexOf("FROM")-1;       //获取要截取字符串的最后一个字符位置
        string str2=str1.SubStirng(i,j-1); //获取要截取的字符串其中要把空格考虑进去
      

  5.   

    string a = "USE Database SELECT id,name FROM SYSOBJECTS WHERE xtype='U' AND name NOT LIKE 'sys%'"; 
    string ret=System.Text.RegularExpressions.Regex.Match(a, "select", System.Text.RegularExpressions.RegexOptions.IgnoreCase).Value ;
    使用regex正则提取
      

  6.   

    如果只要"SELECT"的话string str1="全句";
    int i=str.IndexOf("SELECT");
    string str2=str1.SubString(i,6);
      

  7.   

    7楼可以提取select  Select  sElect....不论大小写如何,都能提取。