字符串处理

Title#region GetSubString
  /// <summary>
  /// 取得指定开始和结束字符串中间的数据串
  /// </summary>
  /// <param name="content"></param>
  /// <param name="startStr"></param>
  /// <param name="endStr"></param>
  /// <returns></returns>
  protected string GetSubString(string content, string startStr, string endStr)
  {
   try
   {
    int indexStart = content.IndexOf(startStr);
    if (indexStart >= 0)
    {
     int indexEnd = content.IndexOf(endStr, indexStart + startStr.Length);
     if (indexEnd >= 0)
     {
      return content.Substring(indexStart + startStr.Length, indexEnd - indexStart - startStr.Length);

     }
    }
   }
   catch (Exception ex)
   {
   }


   return string.Empty;
  }

  /// <summary>
  /// 取得指定结束字符串中间的数据串
  /// </summary>
  /// <param name="content"></param>
  /// <param name="endStr"></param>
  /// <returns></returns>
  protected string GetSubString(string content, string endStr)
  {
   try
   {
    int indexStart = 0;

    int indexEnd = content.IndexOf(endStr, 0);
    if (indexEnd >= 0)
    {
     return content.Substring(indexStart, indexEnd);

    }
   }
   catch (Exception ex)
   {
   }


   return string.Empty;
  }
  #endregion

  #region Replace
  /// <summary>
  ///
  /// </summary>
  /// <param name="content"></param>
  /// <param name="startStr"></param>
  /// <param name="endStr"></param>
  /// <param name="newValue"></param>
  /// <returns></returns>
  protected string Replace(string content, string startStr, string endStr, string newValue)
  {
   return Replace(content, startStr, endStr, newValue, true);
  }

  /// <summary>
  ///
  /// </summary>
  /// <param name="content"></param>
  /// <param name="startStr"></param>
  /// <param name="endStr"></param>
  /// <param name="newValue"></param>
  /// <param name="onlyReplaceFirst"></param>
  /// <returns></returns>
  protected string Replace(string content, string startStr, string endStr, string newValue, bool onlyReplaceFirst)
  {
   try
   {
    string result = this.GetSubString(content, startStr, endStr);

    string str = startStr + result + endStr;

    //Response.Write("<BR><BR><BR>" + Server.HtmlEncode(str) + "<BR><BR><BR>");

    if (!onlyReplaceFirst)
    {
     return content.Replace(startStr + result + endStr, newValue);
    }
    else
    {
     int indexStr = content.IndexOf(str);

     if (indexStr >= 0)
     {
      //得到前辍
      string preStr = content.Substring(0, indexStr);

      content = content.Substring(indexStr, content.Length - preStr.Length);

      //得到后辍
      string lastStr = content.Substring(str.Length, content.Length - str.Length);


      return preStr + lastStr;
     }
    }

   }
   catch (Exception ex)
   {
   }

   return content;
  }
  #endregion#region GetSubString
  /// <summary>
  /// 取得指定开始和结束字符串中间的数据串
  /// </summary>
  /// <param name="content"></param>
  /// <param name="startStr"></param>
  /// <param name="endStr"></param>
  /// <returns></returns>
  protected string GetSubString(string content, string startStr, string endStr)
  {
   try
   {
    int indexStart = content.IndexOf(startStr);
    if (indexStart >= 0)
    {
     int indexEnd = content.IndexOf(endStr, indexStart + startStr.Length);
     if (indexEnd >= 0)
     {
      return content.Substring(indexStart + startStr.Length, indexEnd - indexStart - startStr.Length);

     }
    }
   }
   catch (Exception ex)
   {
   }


   return string.Empty;
  }

  /// <summary>
  /// 取得指定结束字符串中间的数据串
  /// </summary>
  /// <param name="content"></param>
  /// <param name="endStr"></param>
  /// <returns></returns>
  protected string GetSubString(string content, string endStr)
  {
   try
   {
    int indexStart = 0;

    int indexEnd = content.IndexOf(endStr, 0);
    if (indexEnd >= 0)
    {
     return content.Substring(indexStart, indexEnd);

    }
   }
   catch (Exception ex)
   {
   }


   return string.Empty;
  }
  #endregion

  #region Replace
  /// <summary>
  ///
  /// </summary>
  /// <param name="content"></param>
  /// <param name="startStr"></param>
  /// <param name="endStr"></param>
  /// <param name="newValue"></param>
  /// <returns></returns>
  protected string Replace(string content, string startStr, string endStr, string newValue)
  {
   return Replace(content, startStr, endStr, newValue, true);
  }

  /// <summary>
  ///
  /// </summary>
  /// <param name="content"></param>
  /// <param name="startStr"></param>
  /// <param name="endStr"></param>
  /// <param name="newValue"></param>
  /// <param name="onlyReplaceFirst"></param>
  /// <returns></returns>
  protected string Replace(string content, string startStr, string endStr, string newValue, bool onlyReplaceFirst)
  {
   try
   {
    string result = this.GetSubString(content, startStr, endStr);

    string str = startStr + result + endStr;

    //Response.Write("<BR><BR><BR>" + Server.HtmlEncode(str) + "<BR><BR><BR>");

    if (!onlyReplaceFirst)
    {
     return content.Replace(startStr + result + endStr, newValue);
    }
    else
    {
     int indexStr = content.IndexOf(str);

     if (indexStr >= 0)
     {
      //得到前辍
      string preStr = content.Substring(0, indexStr);

      content = content.Substring(indexStr, content.Length - preStr.Length);

      //得到后辍
      string lastStr = content.Substring(str.Length, content.Length - str.Length);


      return preStr + lastStr;
     }
    }

   }
   catch (Exception ex)
   {
   }

   return content;
  }
  #endregion

posted on 2010-12-29 11:15  junjun898  阅读(162)  评论(0编辑  收藏  举报