字符串为:前面的内容|||||后面的内容我想要前面的内容,声明,前面的内容可不是指呢五个字啊,是一篇文章在字符串|||||前面的内容

解决方案 »

  1.   

    sql 实现?
    declare @s nvarchar(200)
    set @s='声明,前面的内容可不是指呢五个字啊,是一篇文章在字符串 ¦ ¦ ¦ ¦ ¦前面的内容'
    select left(@s,charindex('¦ ¦ ¦ ¦ ¦',@s)-1) as '前面的内容'
    /*
    前面的内容
    --------------------------------------------------------
    声明,前面的内容可不是指呢五个字啊,是一篇文章在字符串 (1 row(s) affected)*/
      

  2.   

    C#函数?
    public string Find(string str)
    {
        int nIndex = str.IndexOf("¦ ¦ ¦ ¦ ¦");
        if (nIndex == -1)
            return "";
        str = str.SubString(nIndex + 5, str.Length - nIndex - 5);    nIndex = str.IndexOf("¦ ¦ ¦ ¦ ¦");
        if (nIndex == -1)
            return "";
        return str.SubString(0, nIndex);
    }
    public   string   Find(string   str) 

            string[]   strSeparators   =   new   string[]   ("¦ ¦ ¦ ¦ ¦");
            string[]   =   str.Split(strSeparators,   StringSplitOptions.RemoveEmptyEntries); 
            return   str[1]; 
    }
      

  3.   

    虽然不懂TSQL但是还是谢谢,有没有用C#的方法啊?比如正则或者其他,因为我已经写了一个数据库分页查询的类,不想再用SQL了
      

  4.   

    public   string   Find(string   str) 

            string[]   strSeparators   =   new   string[]   ("¦ ¦ ¦ ¦ ¦");
            string[]   str=   str.Split(strSeparators,   StringSplitOptions.RemoveEmptyEntries); 
            return   str[0]; 
    }
    得到的结果是原字符串,失败了
      

  5.   

    public string Find(string str)
    {
        int nIndex = str.IndexOf("¦ ¦ ¦ ¦ ¦");
        if (nIndex == -1)
            return "";
        str = str.SubString(nIndex + 5, str.Length - nIndex - 5);    nIndex = str.IndexOf("¦ ¦ ¦ ¦ ¦");
        if (nIndex == -1)
            return "";
        return str.SubString(0, nIndex);
    }
    返回空字符串,也失败了
      

  6.   

    nIndex = str.IndexOf("¦ ¦ ¦ ¦ ¦"); 
        if (nIndex == -1) 
            return ""; 
        return str.SubString(0, nIndex); 
    这个行了
      

  7.   

    string[]  strSeparators  =  new  string[]  ("¦ ¦ ¦ ¦ ¦"); 
            string[]  str=  str.Split(strSeparators,  StringSplitOptions.RemoveEmptyEntries); 
            return  str[0]; 
    返回了后面的
      

  8.   

    hery2002  谢啦!结贴给分