阿里云折扣码

轻云博客 > Asp .net网站开发 > 正则表达式获得指定开始和结束字符串中间的一段文本

正则表达式获得指定开始和结束字符串中间的一段文本

作者:Aisencici / 日期:2014-7-25 4:19:00 / 分类:Asp .net网站开发 / 浏览:1874

/// <summary>
/// 获得字符串中开始和结束字符串中间得值
/// </summary>
/// <param name="str"></param>
/// <param name="s">开始</param>
/// <param name="e">结束</param>
/// <returns></returns> 
public static string GetValue(string str, string s, string e)
{
Regex rg 
= new Regex("(?<=(" + s + "))[.\\s\\S]*?(?=(" + e + "))", RegexOptions.Multiline | RegexOptions.Singleline);
return rg.Match(str).Value;
}

/// <summary>

    /// 截取字符串过多+……

    /// </summary>

    /// <param name="inputString">字符串</param>

    /// <param name="len">长度</param>

    /// <returns>string</returns>

    public static string CutString(string inputString, int len)

    {

        ASCIIEncoding ascii = new ASCIIEncoding();

        int tempLen = 0;

        string tempString = "";

        byte[] s = ascii.GetBytes(inputString);

        for (int i = 0; i < s.Length; i++)

        {

            if ((int)s[i] == 63)

            {

                tempLen += 2;

            }

            else

            {

                tempLen += 1;

}



try

            {

                tempString += inputString.Substring(i, 1);

            }

            catch

            {

                break;

}



if (tempLen > len)

                break;

        }

        //如果截过则加上半个省略号

        byte[] mybyte = System.Text.Encoding.Default.GetBytes(inputString);

        if (mybyte.Length > len)

            tempString += "…";



return tempString;

    }


string get字符串="01-蓝";
string get后 = get字符串.Substring(0, get字符串.IndexOf("-"));
这样获取的数据是:蓝

string get后 = get字符串.Substring(get字符串.IndexOf("-"),get字符串.Length - get字符串.IndexOf("-"));


本文标签:正则表达式
From:http://www.cnblogs.com/huangcong/archive/2010/08/15/1800070.html
分享到: