源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

C#常用的字符串扩展方法汇总

  • 时间:2022-12-26 04:21 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:C#常用的字符串扩展方法汇总
本文实例汇总了C#常用的字符串扩展方法,分享给大家供大家参考。具体如下: EString.cs文件如下:
[u]复制代码[/u] 代码如下:
/// <summary> /// 扩展字符串类 /// </summary> public static class EString {         #region 数据转换         #region 转Int         /// <summary>         /// 转Int,失败返回0         /// </summary>         /// <param name="e"></param>         /// <returns></returns>         public static int ToInt(this string t)         {             int n;             if (!int.TryParse(t, out n))                 return 0;             return n;         }         /// <summary>         /// 转Int,失败返回pReturn         /// </summary>         /// <param name="e"></param>         /// <param name="pReturn">失败返回的值</param>         /// <returns></returns>         public static int ToInt(this string t, int pReturn)         {             int n;             if (!int.TryParse(t, out n))                 return pReturn;             return n;         }         /// <summary>         /// 是否是Int true:是 false:否         /// </summary>         /// <param name="t"></param>         /// <returns></returns>         public static bool IsInt(this string t)         {             int n;             return int.TryParse(t, out n);         }         #endregion         #region 转Int16         /// <summary>         /// 转Int,失败返回0         /// </summary>         /// <param name="e"></param>         /// <returns></returns>         public static Int16 ToInt16(this string t)         {             Int16 n;             if (!Int16.TryParse(t, out n))                 return 0;             return n;         }         /// <summary>         /// 转Int,失败返回pReturn         /// </summary>         /// <param name="e"></param>         /// <param name="pReturn">失败返回的值</param>         /// <returns></returns>         public static Int16 ToInt16(this string t, Int16 pReturn)         {             Int16 n;             if (!Int16.TryParse(t, out n))                 return pReturn;             return n;         }         /// <summary>         /// 是否是Int true:是 false:否         /// </summary>         /// <param name="t"></param>         /// <returns></returns>         public static bool IsInt16(this string t)         {             Int16 n;             return Int16.TryParse(t, out n);         }         #endregion         #region 转byte         /// <summary>         /// 转byte,失败返回0         /// </summary>         /// <param name="e"></param>         /// <returns></returns>         public static byte Tobyte(this string t)         {             byte n;             if (!byte.TryParse(t, out n))                 return 0;             return n;         }         /// <summary>         /// 转byte,失败返回pReturn         /// </summary>         /// <param name="e"></param>         /// <param name="pReturn">失败返回的值</param>         /// <returns></returns>         public static byte Tobyte(this string t, byte pReturn)         {             byte n;             if (!byte.TryParse(t, out n))                 return pReturn;             return n;         }         /// <summary>         /// 是否是byte true:是 false:否         /// </summary>         /// <param name="t"></param>         /// <returns></returns>         public static bool Isbyte(this string t)         {             byte n;             return byte.TryParse(t, out n);         }         #endregion         #region 转Long         /// <summary>         /// 转Long,失败返回0         /// </summary>         /// <param name="e"></param>         /// <returns></returns>         public static long ToLong(this string t)         {             long n;             if (!long.TryParse(t, out n))                 return 0;             return n;         }         /// <summary>         /// 转Long,失败返回pReturn         /// </summary>         /// <param name="e"></param>         /// <param name="pReturn">失败返回的值</param>         /// <returns></returns>         public static long ToLong(this string t, long pReturn)         {             long n;             if (!long.TryParse(t, out n))                 return pReturn;             return n;         }         /// <summary>         /// 是否是Long true:是 false:否         /// </summary>         /// <param name="t"></param>         /// <returns></returns>         public static bool IsLong(this string t)         {             long n;             return long.TryParse(t, out n);         }         #endregion         #region 转Double         /// <summary>         /// 转Int,失败返回0         /// </summary>         /// <param name="e"></param>         /// <returns></returns>         public static double ToDouble(this string t)         {             double n;             if (!double.TryParse(t, out n))                 return 0;             return n;         }         /// <summary>         /// 转Double,失败返回pReturn         /// </summary>         /// <param name="e"></param>         /// <param name="pReturn">失败返回的值</param>         /// <returns></returns>         public static double ToDouble(this string t, double pReturn)         {             double n;             if (!double.TryParse(t, out n))                 return pReturn;             return n;         }         /// <summary>         /// 是否是Double true:是 false:否         /// </summary>         /// <param name="t"></param>         /// <returns></returns>         public static bool IsDouble(this string t)         {             double n;             return double.TryParse(t, out n);         }         #endregion         #region 转Decimal         /// <summary>         /// 转Decimal,失败返回0         /// </summary>         /// <param name="e"></param>         /// <returns></returns>         public static decimal ToDecimal(this string t)         {             decimal n;             if (!decimal.TryParse(t, out n))                 return 0;             return n;         }         /// <summary>         /// 转Decimal,失败返回pReturn         /// </summary>         /// <param name="e"></param>         /// <param name="pReturn">失败返回的值</param>         /// <returns></returns>         public static decimal ToDecimal(this string t, decimal pReturn)         {             decimal n;             if (!decimal.TryParse(t, out n))                 return pReturn;             return n;         }         /// <summary>         /// 是否是Decimal true:是 false:否         /// </summary>         /// <param name="t"></param>         /// <returns></returns>         public static bool IsDecimal(this string t)         {             decimal n;             return decimal.TryParse(t, out n);         }         #endregion         #region 转DateTime         /// <summary>         /// 转DateTime,失败返回当前时间         /// </summary>         /// <param name="e"></param>         /// <returns></returns>         public static DateTime ToDateTime(this string t)         {             DateTime n;             if (!DateTime.TryParse(t, out n))                 return DateTime.Now;             return n;         }         /// <summary>         /// 转DateTime,失败返回pReturn         /// </summary>         /// <param name="e"></param>         /// <param name="pReturn">失败返回的值</param>         /// <returns></returns>         public static DateTime ToDateTime(this string t, DateTime pReturn)         {             DateTime n;             if (!DateTime.TryParse(t, out n))                 return pReturn;             return n;         }         /// <summary>         /// 转DateTime,失败返回pReturn         /// </summary>         /// <param name="e"></param>         /// <param name="pReturn">失败返回的值</param>         /// <returns></returns>         public static string ToDateTime(this string t, string pFormat, string pReturn)         {             DateTime n;             if (!DateTime.TryParse(t, out n))                 return pReturn;             return n.ToString(pFormat);         }         /// <summary>         /// 转DateTime,失败返回空         /// </summary>         /// <param name="e"></param>         /// <param name="pReturn">失败返回的值</param>         /// <returns></returns>         public static string ToDateTime(this string t, string pFormat)         {             return t.ToDateTime(pFormat, string.Empty);         }         public static string ToShortDateTime(this string t)         {             return t.ToDateTime("yyyy-MM-dd", string.Empty);         }         /// <summary>         /// 是否是DateTime true:是 false:否         /// </summary>         /// <param name="t"></param>         /// <returns></returns>         public static bool IsDateTime(this string t)         {             DateTime n;             return DateTime.TryParse(t, out n);         }         #endregion         #region 与int[]相关         /// <summary>         /// 转int[],字符串以逗号(,)隔开,请确保字符串内容都合法,否则会出错         /// </summary>         /// <param name="pStr"></param>         /// <returns></returns>         public static int[] ToIntArr(this string t)         {             return t.ToIntArr(new char[] { ',' });         }         /// <summary>         /// 转int[],字符串以逗号(,)隔开,请确保字符串内容都合法,否则会出错         /// </summary>         /// <param name="t"></param>         /// <param name="pSplit">隔开的</param>         /// <returns></returns>         public static int[] ToIntArr(this string t, char[] pSplit)         {             if (t.Length == 0)             {                 return new int[] { };             }             string[] ArrStr = t.Split(pSplit, StringSplitOptions.None);             int[] iStr = new int[ArrStr.Length];             for (int i = 0; i < ArrStr.Length; i++)                 iStr[i] = int.Parse(ArrStr[i]);             return iStr;         }         #endregion         #region 过滤字符串的非int,重新组合成字符串         /// <summary>         /// 过滤字符串的非int,重新组合成字符串         /// </summary>         /// <param name="t"></param>         /// <param name="pSplit">分隔符</param>         /// <returns></returns>         public static string ClearNoInt(this string t, char pSplit)         {             string sStr = string.Empty;             string[] ArrStr = t.Split(pSplit);             for (int i = 0; i < ArrStr.Length; i++)             {                 string lsStr = ArrStr[i];                 if (lsStr.IsInt())                     sStr += lsStr + pSplit;                 else                     continue;             }             if (sStr.Length > 0)                 sStr = sStr.TrimEnd(pSplit);             return sStr;         }         /// <summary>         /// 过滤字符串的非int,重新组合成字符串         /// </summary>         /// <param name="t"></param>         /// <returns></returns>         public static string ClearNoInt(this string t)         {             return t.ClearNoInt(',');         }         #endregion         #region 是否可以转换成int[]         /// <summary>         /// 是否可以转换成int[],true:是,false:否         /// </summary>         /// <param name="t"></param>         /// <param name="pSplit">分隔符</param>         /// <returns></returns>         public static bool IsIntArr(this string t, char pSplit)         {             string[] ArrStr = t.Split(pSplit);             bool b = true;             for (int i = 0; i < ArrStr.Length; i++)             {                 if (!ArrStr[i].IsInt())                 {                     b = false;                     break;                 }             }             return b;         }         /// <summary>         /// 是否可以转换成int[],true:是,false:否         /// </summary>         /// <param name="t"></param>         /// <returns></returns>         public static bool IsIntArr(this string t)         {             return t.IsIntArr(',');         }         #endregion         #endregion         #region 载取左字符         /// <summary>         /// 载取左字符         /// </summary>         /// <param name="t"></param>         /// <param name="pLen">字符个数</param>         /// <param name="pReturn">超出时后边要加的返回的内容</param>         /// <returns></returns>         public static string Left(this string t, int pLen, string pReturn)         {             if (t == null || t.Length == 0)                 return string.Empty;             pLen *= 2;             int i = 0, j = 0;             foreach (char c in t)             {                 if (c > 127)                 {                     i += 2;                 }                 else                 {                     i++;                 }                 if (i > pLen)                 {                     return t.Substring(0, j) + pReturn;                 }                 j++;             }             return t;         }         public static string Left(this string t, int pLen)         {             return Left(t, pLen, string.Empty);         }         public static string StrLeft(this string t, int pLen)         {             if (t == null)             {                 return "";             }             if (t.Length > pLen)             {                 return t.Substring(0, pLen);             }             return t;         }         #endregion         #region 删除文件名或路径的特殊字符         private class ClearPathUnsafeList         {             public static readonly string[] unSafeStr = { "/", "\\", ":", "*", "?", "\"", "<", ">", "|" };         }         /// <summary>         /// 删除文件名或路径的特殊字符         /// </summary>         /// <param name="t"></param>         /// <returns></returns>         public static string ClearPathUnsafe(this string t)         {             foreach (string s in ClearPathUnsafeList.unSafeStr)             {                 t = t.Replace(s, "");             }             return t;         }         #endregion         #region 字符串真实长度 如:一个汉字为两个字节         /// <summary>         /// 字符串真实长度 如:一个汉字为两个字节         /// </summary>         /// <param name="s"></param>         /// <returns></returns>         public static int LengthReal(this string s)         {             return Encoding.Default.GetBytes(s).Length;         }         #endregion         #region 去除小数位最后为0的         /// <summary>         /// 去除小数位最后为0的         /// </summary>         /// <param name="t"></param>         /// <returns></returns>         public static decimal ClearDecimal0(this string t)         {             decimal d;             if (decimal.TryParse(t, out d))             {                 return decimal.Parse(double.Parse(d.ToString("g")).ToString());             }             return 0;         }         #endregion         #region 进制转换         /// <summary>         /// 16进制转二进制         /// </summary>         /// <param name="t"></param>         /// <returns></returns>         public static string Change16To2(this string t)         {             String BinOne = string.Empty;             String BinAll = string.Empty;             char[] nums = t.ToCharArray();             for (int i = 0; i < nums.Length; i++)             {                 string number = nums[i].ToString();                 int num = Int32.Parse(number, System.Globalization.NumberStyles.HexNumber);                 BinOne = Convert.ToString(num, 2).PadLeft(4, '0');                 BinAll = BinAll + BinOne;             }             return BinAll;         }         /// <summary>         /// 二进制转十进制         /// </summary>         /// <param name="t"></param>         /// <returns></returns>         public static Int64 Change2To10(this string t)         {             char[] arrc = t.ToCharArray();             Int64 all = 0, indexC = 1;             for (int i = arrc.Length - 1; i >= 0; i--)             {                 if (arrc[i] == '1')                 {                     all += indexC;                 }                 indexC = indexC * 2;             }             return all;         }         /// <summary>         /// 二进制转换byte[]数组         /// </summary>         /// <param name="s"></param>         /// <returns></returns>         public static byte[] Change2ToBytes(this string t)         {             List<byte> list = new List<byte>();             char[] arrc = t.ToCharArray();             byte n = 0;             char c;             int j = 0;             //倒序获取位             for (int i = arrc.Length - 1; i >= 0; i--)             {                 c = arrc[i];                 if (c == '1')                 {                     n += Convert.ToByte(Math.Pow(2, j));                 }                 j++;                 if (j % 8 == 0)                 {                     list.Add(n);                     j = 0;                     n = 0;                 }             }             //剩余最高位             if (n > 0)                 list.Add(n);             byte[] arrb = new byte[list.Count];             int j1 = 0;             //倒序             for (int i = list.Count - 1; i >= 0; i--)             {                 arrb[j1] = list[i];                 j1++;             }             return arrb;         }         /// <summary>         /// 二进制转化为索引id数据,从右到左         /// </summary>         /// <param name="t"></param>         /// <returns></returns>         public static int[] Change2ToIndex(this string t)         {             List<int> list = new List<int>();             char[] arrc = t.ToCharArray();             char c;             int j = 0;             //倒序获取位             for (int i = arrc.Length - 1; i >= 0; i--)             {                 j++;                 c = arrc[i];                 if (c == '1')                 {                     list.Add(j);                 }             }             return list.ToArray();         }         #endregion         #region html url编码 解码         /// <summary>         /// Html Encode         /// </summary>         /// <param name="pStr"></param>         /// <returns></returns>         public static string HtmlEncode(this string t)         {             return HttpContext.Current.Server.HtmlEncode(t);         }         /// <summary>         /// Html Decode         /// </summary>         /// <param name="pStr"></param>         /// <returns></returns>         public static string HtmlDecode(this string t)         {             return HttpContext.Current.Server.HtmlDecode(t);         }         /// <summary>         /// URL Encode         /// </summary>         /// <param name="pStr"></param>         /// <returns></returns>         public static string URLEncode(this string t)         {             return HttpContext.Current.Server.UrlEncode(t);         }         /// <summary>         /// URL Decode         /// </summary>         /// <param name="pStr"></param>         /// <returns></returns>         public static string URLDecode(this string t)         {             return HttpContext.Current.Server.UrlDecode(t);         }         #endregion         #region 向客户端输出内容         /// <summary>         /// 向客户端输出内容         /// </summary>         /// <param name="t"></param>         public static void Write(this string t)         {             HttpContext.Current.Response.Write(t);         }         /// <summary>         /// 向客户端输出内容         /// </summary>         /// <param name="t"></param>         public static void WriteLine(this string t)         {             HttpContext.Current.Response.Write(t + "<br />");         }         #endregion }
希望本文所述对大家的C#程序设计有所帮助。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部