25yicms利用ASP.NET(C#)+MSSQL技术全力打造功能最强大的营销型企业网站管理系统,企业做网站系统,做网站软件,提供div+css企业网站模板。
阅读内容

C#(asp.net)对字符串的操作公共类(StringUtil.cs)


时间:2010/04/08   来源:25亿

我们在做项目时会需要对字符串进行特殊处理,以下提供C#(asp.net)对字符串的操作公共类,直接复制以下代码到新建cs文件StringUtil.cs中即可。

 /// <summary>
 /// StringUtil 的摘要说明。
 /// </summary>
 public class StringUtil
 {
  public StringUtil()
  {
   //
   // TODO: 在此处添加构造函数逻辑
   //
  }

  /// <summary>
  /// 功能描述:将字符串转换成参数。
  /// </summary>
  /// <param name="str">需转换的字符串</param>
  /// <returns></returns>
  public static string paramChg(string str)
  {
   str = "@"+str;
   return str;
  }

  /// <summary>
  /// 功能描述:从字符串中的尾部删除指定的字符串。
  /// </summary>
  /// <param name="sourceString">原字符串</param>
  /// <param name="removedString">移除字符串</param>
  /// <returns>留下的字符串</returns>
  public static string Remove(string sourceString,string removedString)
  {
   try
   {
    if(sourceString.IndexOf(removedString)==-1)
     throw new Exception("原字符串中不包含移除字符串!");
    string result=sourceString;
    int LengthOfsourceString=sourceString.Length;
    int LengthOfremovedString=removedString.Length;
    int startIndex=LengthOfsourceString-LengthOfremovedString;
    string sourceStringSub=sourceString.Substring(startIndex);
    if(sourceStringSub.ToUpper()==removedString.ToUpper())
    {
     result=sourceString.Remove(startIndex,LengthOfremovedString);
    }
    return result;
   }
   catch
   {
    return sourceString;
   }

  }
  /// <summary>
  /// 功能描述:从字符串中的指定位置删除指定的字符串。
  /// </summary>
  /// <param name="sourceString">原字符串</param>
  /// <param name="removedString">移除字符串</param>
  /// <returns>留下的字符串</returns>
  public static string StrRemove(string sourceString,string removedString)
  {
   try
   {
    if(sourceString.IndexOf(removedString)==-1)
     throw new Exception("原字符串中不包含移除字符串!");
    string result=sourceString;
    int LengthOfremovedString=removedString.Length;
    if(sourceString.IndexOf(removedString)> 0)
    {
     int startIndex=sourceString.IndexOf(removedString);
     result=sourceString.Remove(startIndex,LengthOfremovedString);
    }
    return result;
   }
   catch
   {
    return sourceString;
   }

  }
  /// <summary>
  /// 功能描述:获取拆分符右边的字符串。
  /// </summary>
  /// <param name="sourceString">原字符串</param>
  /// <param name="splitChar">拆分字符</param>
  /// <returns>右边的字符串</returns>
  public static string RightSplit(string sourceString,char splitChar)
  {
   string result=null;
   string[] tempStr=sourceString.Split(splitChar);
   if(tempStr.Length> 0)
   {
    result=tempStr[tempStr.Length-1].ToString();
   }
   return result;

  }
  /// <summary>
  /// 功能描述:获取拆分符左边的字符串。
  /// </summary>
  /// <param name="sourceString">原字符串</param>
  /// <param name="splitChar">拆分字符</param>
  /// <returns>左边的字符串</returns>
  public static string LeftSplit(string sourceString,char splitChar)
  {
   string result=null;
   string[] tempStr=sourceString.Split(splitChar);
   if(tempStr.Length> 0)
   {
    result=tempStr[0].ToString();
   }
   return result;

  }
  /// <summary>
  /// 功能描述:去掉最后一个逗号后面的字符串。
  /// </summary>
  /// <param name="sourceString">原字符串</param>
  /// <param name="splitChar">拆分字符</param>
  /// <returns>左边的字符串</returns>
  public static string DelLsatComma(string sourceString)
  {
   if(sourceString.IndexOf(",")==-1)
   {
    return sourceString;
   }
   return sourceString.Substring(0,sourceString.LastIndexOf(","));

  }

  /// <summary>
  /// 功能描述:删除不可见字符。
  /// </summary>
  /// <param name="sourceString">原字符串</param>
  /// <returns></returns>
  public static string DeleteUnVisibleChar(string sourceString)
  {
   System.Text.StringBuilder strBuilder=new System.Text.StringBuilder(131);
   for(int i=0;i<sourceString.Length;i++)
   {
    int Unicode=sourceString[i];
    if(Unicode>=16)
    {
     strBuilder.Append(sourceString[i].ToString());
    }
   }
   return strBuilder.ToString();
  }
  /// <summary>
  /// 功能描述:获取数组元素的合并字符串。
  /// </summary>
  /// <param name="stringArray">字符串数组</param>
  /// <returns></returns>
  public static string GetArrayString(string[] stringArray)
  {
   string totalString=null;
   for(int i=0;i<stringArray.Length;i++)
   {
    totalString=totalString+stringArray[i];
   }
   return totalString;
  }
  /// <summary>
  /// 功能描述:获取某一字符串在字符串数组中出现的次数。
  /// </summary>
  /// <param name="stringArray">字符串数组</param>
  /// <param name="findString">某一字符串</param>
  /// <returns></returns>
  public static int GetStringCount(string[] stringArray,string findString)
  {
   int count=0;
   string totalString=GetArrayString(stringArray);
   int findStringLength=findString.Length;
   string subString=totalString;
   while(subString.IndexOf(findString)>=0)
   {
    subString=subString.Substring(subString.IndexOf(findString)+findStringLength);
    count+=1;
   }
   return count;
  }
  /// <summary>
  /// 功能描述:获取某一字符串在字符串中出现的次数。
  /// </summary>
  /// <param name="sourceString">字符串</param>
  /// <param name="findString">某一字符串</param>
  /// <returns></returns>
  public static int GetStringCount(string sourceString,string findString)
  {
   int count=0;
   int findStringLength=findString.Length;
   string subString=sourceString;
   while(subString.IndexOf(findString)>=0)
   {
    subString=subString.Substring(subString.IndexOf(findString)+findStringLength);
    count+=1;
   }
   return count;
  }
  /// <summary>
  /// 功能描述:截取从startString开始到原字符串结尾的所有字符。
  /// </summary>
  /// <param name="sourceString">字符串</param>
  /// <param name="startString">某一字符串</param>
  /// <returns></returns>
  public static string GetSubstring(string sourceString,string startString)
  {
   int startIndex=sourceString.IndexOf(startString);
   if(startIndex>0)
    return sourceString.Substring(startIndex);
   return sourceString;
  }
  /// <summary>
  /// 功能描述:按字节数取出字符串的长度。
  /// </summary>
  /// <param name="sourceString">要计算的字符串</param>
  /// <returns>字符串的字节数</returns>
  public static int GetByteCount(string sourceString)
  {
   int itnCharCount=0;
   for(int i=0;i<sourceString.Length;i++)
   {
    if(System.Text.UTF8Encoding.UTF8.GetByteCount(sourceString.Substring(i,1))==3)
    {
     itnCharCount=itnCharCount+2;
    }
    else
    {
     itnCharCount=itnCharCount+1;
    }
   }
   return itnCharCount;
  }
  /// <summary>
  /// 功能描述:按字节数要在字符串的位置。
  /// </summary>
  /// <param name="intIns">字符串的位置</param>
  /// <param name="strTmp">要计算的字符串</param>
  /// <returns>字节的位置</returns>
  public static int GetByteIndex(int intIns,string strTmp)
  {
   int intReIns=0;
   if(strTmp.Trim()=="")
   {
    return intIns;
   }
   for(int i=0;i<strTmp.Length;i++)
   {
    if(System.Text.UTF8Encoding.UTF8.GetByteCount(strTmp.Substring(i,1))==3)
    {
     intReIns=intReIns+2;
    }
    else
    {
     intReIns=intReIns+1;
    }
    if(intReIns>=intIns)
    {
     intReIns=i+1;
     break;
    }   
   }
   return intReIns;
  }

  /// <summary>
  /// 返回路径分割符号"\"最后一个字符串。
  /// </summary>
  /// <param name="sourceStr">原字符串</param>
  /// <param name="splitChar">分割符号</param>
  /// <returns></returns>
  public static string getLastStr(string sourceStr,char splitChar)
  {
   string[] strArr=sourceStr.Split(splitChar);
   string lastStr=strArr[strArr.Length-1];
   if(lastStr=="")
    return strArr[strArr.Length-2];
   return lastStr;
  }

  /// <summary>
  /// 获取路径最后一个分隔符"\"左边的全部字符串
  /// </summary>
  /// <param name="sourceStr"></param>
  /// <param name="splitChar">分隔符</param>
  /// <returns></returns>
  public static string getLeftStr(string sourceStr,char splitChar)
  {
   string[] strArr=sourceStr.Split(splitChar);
   int length=sourceStr.Length-getLastStr(sourceStr,'\\').Length;
   string leftStr=sourceStr.Substring(0,length);
   return leftStr;
  }

  /// <summary>
  /// 编码字符串
  /// </summary>
  /// <param name="str"></param>
  /// <returns></returns>
  public static string Encode(string str)
  {
   str = str.Replace("<p>", "<br>");
   str = str.Replace("</p>", "");
   str = str.Replace(".", ".");
   str = str.Replace("'", "''");
   str = str.Replace(":", ":");
   //   str = str.Replace("<", "&lt;");
   //   str = str.Replace(">", "&gt;");
   str = str.Replace("//", "//");
   str = str.Replace("http", "http");
   str = str.Replace("js", "js");
   str = str.Replace("gif", "gif");
   return str;
  }

  public static string SqlEncode(string str)
  {
   str = str.Replace("'", "''");
   return str;
  }

  /// <summary>
  /// 解码字符串
  /// </summary>
  /// <param name="str"></param>
  /// <returns></returns>
  public static string Decode(string str)
  {
   str = str.Replace("<br>", "\n");
   //str = str.Replace("&gt;", ">");
   //str = str.Replace("&lt;", "<");
   str = str.Replace("&nbsp;", " ");
   str = str.Replace("&quot;", "\"");
   return str;
  }

  /// <summary>
  /// 文本域的html编码
  /// </summary>
  /// <param name="str"></param>
  /// <returns></returns>
  public static string HtmlEncode(string str)
  {
   str = str.Replace("'", "''");
   str = str.Replace("\"", "&quot;");
   str = str.Replace(" ", "&nbsp;");
   //   str = str.Replace("<", "&lt;");
   //   str = str.Replace(">", "&gt;");
   str = str.Replace("\n", "<br>");
   str = str.Replace("//", "//");
   str = str.Replace("http", "http");
   str = str.Replace("js", "js");
   str = str.Replace("gif", "gif");
   str = str.Replace("com", "com");
   str = str.Replace(".", ".");
   return str;
  }

  /// <summary>
  /// 文本域的html解码
  /// </summary>
  /// <param name="str"></param>
  /// <returns></returns>
  public static string HtmlDecode(string str)
  { 
   //   str = str.Replace("&gt;", ">");
   //   str = str.Replace("&lt;", "<");
   str = str.Replace("&nbsp;", " ");
   str = str.Replace("&quot;", "\"");
   str = str.Replace("''","'");
   str = str.Replace("<br>", "\n");
   return str;
  }

  /// <summary>
  /// 出去空格,并见对尖括号内的空格加入。
  /// </summary>
  /// <param name="contStr"></param>
  /// <returns></returns>
  public static string  ReplaceStr(string contStr)
  {
   contStr = System.Text.RegularExpressions.Regex.Replace(contStr,"\\s","&nbsp;");
   int y,z;
   z = 0;
   int i = 0;
   do
   {
    y = contStr.IndexOf("<",z);
    if(y>=0)
    {
     z = contStr.IndexOf(">",y);
     if(z >= 0)
     {
      i += contStr.Substring(y,z-y+1).Replace("&nbsp;"," ").Length + 4; //统计超级链接标签占用的字符数
      string tStr1, tStr2;
      tStr1 = contStr.Substring(0,z+1);
      tStr2 = contStr.Substring(z+1);
      contStr = tStr1.Replace(tStr1.Substring(y,z-y+1),tStr1.Substring(y,z-y+1).Replace("&nbsp;"," "))+tStr2;
     }
     else
     {
      
      z = y+1;
      if(z > contStr.Length-1)
       break;
     }
    }
   }
   while(y>=0 && z <= contStr.Length-1);
   return contStr;
  }

 }

C#(asp.net)对字符串的操作公共类希望对大家有所帮助,欢迎大家一起对25亿企业网站管理系统的性能和安全性方面进行讨论。
作者: 网站设计@ 企业网站管理系统
 原载: 25亿企业网站管理系统
  版权所有。转载时必须以链接形式注明作者和原始出处及本声明。

点击次数:       打印此页  关闭