分享通用基类库-C#通用字符串处理类

来源:互联网 发布:北京知企科技有限公司 编辑:程序博客网 时间:2024/06/09 17:00
/*************************************************************************************
* 代码:吴蒋
* 时间:2012.03.30
* 说明:字符串处理公共基类
* 其他:
* 修改人:
* 修改时间:
* 修改说明:
************************************************************************************/
using System;
usingSystem.Web;
usingSystem.Text.RegularExpressions;
usingSystem.Text;
namespaceCommon
{
    publicclass StringHelp
    {
        /// <summary>
        /// 默认构造函数
        /// </summary>
        public StringHelp() { }
        /// <summary>
        /// 判断参数字符是否为空
        /// </summary>
        /// <param name="sourceString">输入字符串</param>
        /// <returns>True:为空;falsh:不为空</returns>
        public staticbool IsNull(stringsourceString)
        {
            if (String.Equals(sourceString,null) || String.Equals(sourceString,""))
            {
               return true;
            }
            return false;
        }
        /// <summary>
        /// 获取操作字符串长度
        /// </summary>
        /// <param name="sourceString">输入字符串</param>
        /// <returns>返回长度</returns>
        public staticint MaxLength(stringsourceString)
        {
            return sourceString.Length;
        }
        /// <summary>
        /// 双向截取一定长度字符串
        /// </summary>
        /// <param name="sourceString">输入操作字符串</param>
        /// <param name="leftOrRight">截取方向True:Left;Flash:Right</param>
        /// <param name="size">要截取的大小</param>
        /// <returns>返回截取后的字符串</returns>
        public staticstring InterceptString(stringsourceString, boolleftOrRight, intsize)
        {
            if (IsNull(sourceString))
            { throw new Exception("操作字符串参数不能为空!"); }
            int maxLength = MaxLength(sourceString);
            if (size >= maxLength)
            {
               return sourceString;
            }
            if (leftOrRight)
            {
               return sourceString.Substring(0, size);
            }
            return sourceString.Substring(maxLength - size, size);
        }
        /// <summary>
        /// 浅去除Html
        /// </summary>
        /// <param name="sourceString">输入操作字符串</param>
        /// <returns>返回操作后字符串</returns>
        public staticstring WipeOffHtml(stringsourceString)
        {
            return Regex.Replace(sourceString,"<[^>]*>", "");
        }
        /// <summary>
        /// 深去除Html包括脚本等
        /// </summary>
        /// <param name="sourceString">输入操作字符串</param>
        /// <returns>返回操作后字符串</returns>
        public stringScriptHtml(stringsourceString)
        {
            string[] aryReg = {
             @"<script[^>]*?>.*?</script>",
             @"<(\/\s*)?!?((\w+:)?\w+)(\w+(\s*=?\s*(([""'])(\\[""'tbnr]|[^\7])*?\7|\w+)|.{0})|\s)*?(\/\s*)?>",
             @"([\r\n])[\s]+",
             @"&(quot|#34);",
             @"&(amp|#38);",
             @"&(lt|#60);",
             @"&(gt|#62);",
             @"&(nbsp|#160);",
             @"&(iexcl|#161);",
             @"&(cent|#162);",
             @"&(pound|#163);",
            @"&(copy|#169);",
            @"&#(\d+);",
            @"-->",
            @"<!--.*\n"
         };
           string[] aryRep = {
            "",
            "",
            "",
            "\"",
            "&",
            "<",
            ">",
            " ",
            "\xa1",//chr(161),
            "\xa2",//chr(162),
            "\xa3",//chr(163),
            "\xa9",//chr(169),
            "",
            "\r\n",
            ""
         };
           string newReg = aryReg[0];
           string strOutput = sourceString;
           for (inti = 0; i < aryReg.Length; i++)
           {
               Regex regex = newRegex(aryReg[i], RegexOptions.IgnoreCase);
               strOutput = regex.Replace(strOutput, aryRep[i]);
           }
           strOutput.Replace("<","");
           strOutput.Replace(">","");
           strOutput.Replace("\r\n","");
           return strOutput;
        }
        /// <summary>
        /// 输入HTML中的ImgUrl
        /// </summary>
        /// <param name="sourceString">输入操作字符串</param>
        /// <returns>返回干净的Url</returns>
        public staticstring GetImgUrl(stringsourceString)
        {
           string str =string.Empty;
           Regex r = newRegex(@"<img\s+[^>]*\s*src\s*=\s*([']?)(?<url>\S+)'?[^>]*>",
           RegexOptions.Compiled);
           Match m = r.Match(sourceString.ToLower());
           if (m.Success)
               str = m.Result("${url}");
           return str;
        }
        /// <summary>
        /// 过滤SQL注入
        /// </summary>
        /// <param name="sourceString">输入操作字符串</param>
        /// <returns>返回安全的SQL</returns>
        public staticstring FilterSql(stringsourceString)
        {
           string str = sourceString;
           str = str.Replace("'","''");
           str = str.Replace("<","<");
           str = str.Replace(">",">");
           return str;
        }
        /// <summary>
        /// 移除非法或不友好字符
        /// </summary>
        /// <param name="keyWord">非法或不友好字符以|隔开</param>
        /// <param name="chkStr">要处理的字符串</param>
        /// <returns>处理后的字符串</returns>
        public staticstring FilterBadWords(stringkeyWord, stringsourceString)
        {
           if (sourceString =="")
           {
               return "";
           }
           string[] bwords = keyWord.Split('|');
           int i, j;
           string str;
           StringBuilder sb = newStringBuilder();
           for (i = 0; i < bwords.Length; i++)
           {
               str = bwords[i].ToString().Trim();
               string regStr, toStr;
               regStr = str;
               Regex r = newRegex(regStr, RegexOptions.IgnoreCase | RegexOptions.Singleline | RegexOptions.Multiline);
               Match m = r.Match(sourceString);
               if (m.Success)
               {
                   j = m.Value.Length;
                   sb.Insert(0, "*", j);
                   toStr = sb.ToString();
                   sourceString = Regex.Replace(sourceString, regStr, toStr, RegexOptions.IgnoreCase | RegexOptions.Singleline | RegexOptions.Multiline);
               }
               sb.Remove(0, sb.Length);
           }
           return sourceString;
        }
        /// <summary>
        /// 判断是否是合法IPV4
        /// </summary>
        /// <param name="sourceString">要处理的字符串</param>
        /// <returns>返回结果</returns>
        public staticbool IsIPV4(stringsourceString)
        {
           Regex rx = newRegex(@"((?:(?:25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))\.){3}(?:25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d))))");
           return (rx.IsMatch(sourceString));
        }
        /// <summary>
        /// IPV4转数字
        /// </summary>
        /// <param name="sourceString">要处理的字符串</param>
        /// <returns>返回结果</returns>
        public staticdouble IPV4Convert(stringsourceString)
        {
           if (!IsIPV4(sourceString))
           {
               throw newException("IP不合法!");
           }
           string[] listIP = sourceString.Split('.');
           StringBuilder intIP = newStringBuilder();
           for (inti = 0; i < listIP.Length; i++)
           {
               string ipPart = listIP[i].ToString();
               
               if (ipPart.Length == 3)
               {
                   intIP.Append(ipPart);
               }
               if (ipPart.Length == 2)
               {
                   intIP.Append("0"+ ipPart);
               }
               if (ipPart.Length == 1)
               {
                   intIP.Append("00"+ ipPart);
               }
           }
           return Convert.ToDouble(intIP.ToString());
        }
        /// <summary>
        /// 正则表达式判断字符串格式
        /// </summary>
        /// <param name="sourceString">要处理的字符串</param>
        /// <param name="strVerdict">正则表达式</param>
        /// <returns>返回结果</returns>
        public staticbool FormatVerdict(stringsourceString, stringstrVerdict)
        {
           Regex rx = newRegex(strVerdict);
           return (rx.IsMatch(sourceString));
        }
        /// <summary>
        /// 从字符串中的尾部删除指定的字符串
        /// </summary>
        /// <param name="sourceString">需要处理的字符串</param>
        /// <param name="removedString">删除匹配字符串</param>
        /// <returns>处理后字符串</returns>
        public staticstring Remove(stringsourceString, stringremovedString)
        {
           try
           {
               if (sourceString.IndexOf(removedString) < 0)
                   throw newException("原字符串中不包含移除字符串!");
               string result = sourceString;
               int lengthOfSourceString = sourceString.Length;
               int lengthOfRemovedString = removedString.Length;
               int startIndex = lengthOfSourceString - lengthOfRemovedString;
               string tempSubString = sourceString.Substring(startIndex);
               if (tempSubString.ToUpper() == removedString.ToUpper())
               {
                   result = sourceString.Remove(startIndex, lengthOfRemovedString);
               }
               return result;
           }
           catch
           {
               return sourceString;
           }
        }
        /// <summary>
        /// 获取拆分符右边的字符串
        /// </summary>
        /// <param name="sourceString"></param>
        /// <param name="splitChar"></param>
        /// <returns></returns>
        public staticstring RightSplit(stringsourceString, charsplitChar)
        {
           string result =null;
           string[] tempString = sourceString.Split(splitChar);
           if (tempString.Length > 0)
           {
               result = tempString[tempString.Length - 1].ToString();
           }
           return result;
        }
        /// <summary>
        /// 获取拆分符左边的字符串
        /// </summary>
        /// <param name="sourceString"></param>
        /// <param name="splitChar"></param>
        /// <returns></returns>
        public staticstring LeftSplit(stringsourceString, charsplitChar)
        {
           string result =null;
           string[] tempString = sourceString.Split(splitChar);
           if (tempString.Length > 0)
           {
               result = tempString[0].ToString();
           }
           return result;
        }
        /// <summary>
        /// 去掉最后一个逗号
        /// </summary>
        /// <param name="origin"></param>
        /// <returns></returns>
        public staticstring DelLastComma(stringorigin)
        {
           if (origin.IndexOf(",") == -1)
           {
               return origin;
           }
           return origin.Substring(0, origin.LastIndexOf(","));
        }
        /// <summary>
        /// 删除不可见字符
        /// </summary>
        /// <param name="sourceString"></param>
        /// <returns></returns>
        public staticstring DeleteUnVisibleChar(stringsourceString)
        {
           System.Text.StringBuilder sBuilder = newSystem.Text.StringBuilder(131);
           for (inti = 0; i < sourceString.Length; i++)
           {
               int Unicode = sourceString[i];
               if (Unicode >= 16)
               {
                   sBuilder.Append(sourceString[i].ToString());
               }
           }
           return sBuilder.ToString();
        }
        /// <summary>
        /// 获取数组元素的合并字符串
        /// </summary>
        /// <param name="stringArray"></param>
        /// <returns></returns>
        public staticstring GetArrayString(string[] stringArray)
        {
           string totalString =null;
           for (inti = 0; i < stringArray.Length; i++)
           {
               totalString = totalString + stringArray[i];
           }
           return totalString;
        }
        /// <summary>
        /// 获取某一字符串在字符串数组中出现的次数
        /// </summary>
        /// <param name="stringArray">输入要查询的字符串</param>
        /// <param name="findString">输入操作字符串</param>
        /// <returns>返回出现次数</returns>
        public staticint GetStringCount(string[] stringArray,string findString)
        {
           int count = -1;
           string totalString = GetArrayString(stringArray);
           string subString = totalString;
           while (subString.IndexOf(findString) >= 0)
           {
               subString = totalString.Substring(subString.IndexOf(findString));
               count += 1;
           }
           return count;
        }
        /// <summary>
        /// 获取某一字符串在字符串中出现的次数
        /// </summary>
        /// <param name="sourceString">输入操作字符串</param>
        /// <param name="findString">要查询的字符</param>
        /// <returns>返回出现次数</returns>
        public staticint GetStringCount(stringsourceString, stringfindString)
        {
           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 staticstring GetSubString(stringsourceString, stringstartString)
        {
           try
           {
               int index = sourceString.ToUpper().IndexOf(startString);
               if (index > 0)
               {
                   return sourceString.Substring(index);
               }
               return sourceString;
           }
           catch
           {
               return "";
           }
        }
        /// <summary>
        /// 删除从beginRemovedString到 endRemovedString的字符串
        /// </summary>
        /// <param name="sourceString">需要操作的字符串</param>
        /// <param name="beginRemovedString">开始字符</param>
        /// <param name="endRemovedString">结束字符</param>
        /// <returns>返回结果</returns>
        public staticstring GetSubString(stringsourceString, stringbeginRemovedString, stringendRemovedString)
        {
           try
           {
               if (sourceString.IndexOf(beginRemovedString) != 0)
                   beginRemovedString = "";
               if (sourceString.LastIndexOf(endRemovedString, sourceString.Length - endRemovedString.Length) < 0)
                   endRemovedString = "";
               int startIndex = beginRemovedString.Length;
               int length = sourceString.Length - beginRemovedString.Length - endRemovedString.Length;
               if (length > 0)
               {
                   return sourceString.Substring(startIndex, length);
               }
               return sourceString;
           }
           catch
           {
               return sourceString; ;
           }
        }
        /// <summary>
        /// 按字节数取出字符串的长度
        /// </summary>
        /// <param name="strTmp">要计算的字符串</param>
        /// <returns>字符串的字节数</returns>
        public staticint GetByteCount(stringstrTmp)
        {
           int intCharCount = 0;
           for (inti = 0; i < strTmp.Length; i++)
           {
               if (System.Text.UTF8Encoding.UTF8.GetByteCount(strTmp.Substring(i, 1)) == 3)
               {
                   intCharCount = intCharCount + 2;
               }
               else
               {
                   intCharCount = intCharCount + 1;
               }
           }
           return intCharCount;
        }
        /// <summary>
        /// 按字节数要在字符串的位置
        /// </summary>
        /// <param name="intIns">字符串的位置</param>
        /// <param name="strTmp">要计算的字符串</param>
        /// <returns>字节的位置</returns>
        public staticint GetByteIndex(intintIns, stringstrTmp)
        {
           int intReIns = 0;
           if (strTmp.Trim() =="")
           {
               return intIns;
           }
           for (inti = 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="text">输入字符串</param>
        /// <param name="maxLength">最大长度</param>
        /// <returns>返回操作结果</returns>
        public staticstring InputText(stringsourceString, intmaxLength)
        {
           sourceString = sourceString.Trim();
           if (string.IsNullOrEmpty(sourceString))
               return string.Empty;
           if (sourceString.Length > maxLength)
               sourceString = sourceString.Substring(0, maxLength);
           sourceString = Regex.Replace(sourceString, "[\\s]{2,}", " "); //two or more spaces
           sourceString = Regex.Replace(sourceString, "(<[b|B][r|R]/*>)+|(<[p|P](.|\\n)*?>)","\n"); //<br>
           sourceString = Regex.Replace(sourceString, "(\\s*&[n|N][b|B][s|S][p|P];\\s*)+"," "); //
           sourceString = Regex.Replace(sourceString, "<(.|\\n)*?>", string.Empty); //any other tags
           sourceString = sourceString.Replace("'","''");
           return sourceString;
        }
        /// <summary>
        /// 转义操作
        /// </summary>
        /// <param name="sourceString">输入操作字符串</param>
        /// <returns>返回操作结果</returns>
        public staticstring Encode(stringsourceString)
        {
           sourceString = sourceString.Replace("'","'");
           sourceString = sourceString.Replace("\"",""");
           sourceString = sourceString.Replace("<","<");
           sourceString = sourceString.Replace(">",">");
           return sourceString;
        }
        /// <summary>
        /// 反义操作
        /// </summary>
        /// <param name="sourceString">输入操作字符串</param>
        /// <returns>返回操作结果</returns>
        public staticstring Decode(stringsourceString)
        {
           sourceString = sourceString.Replace(">",">");
           sourceString = sourceString.Replace("<","<");
           sourceString = sourceString.Replace(" "," ");
           sourceString = sourceString.Replace(""", "\"");
           return sourceString;
        }
        /// <summary>
        /// 字符传的转换 用在查询 登陆时 防止恶意的盗取密码
        /// </summary>
        /// <param name="sourceString">输入操作字符串</param>
        /// <returns>返回操作结果</returns>
        public staticstring TBCode(stringsourceString)
        {
           sourceString = sourceString.Replace("!","");
           sourceString = sourceString.Replace("@","");
           sourceString = sourceString.Replace("#","");
           sourceString = sourceString.Replace("$","");
           sourceString = sourceString.Replace("%","");
           sourceString = sourceString.Replace("^","");
           sourceString = sourceString.Replace("&","");
           sourceString = sourceString.Replace("*","");
           sourceString = sourceString.Replace("(","");
           sourceString = sourceString.Replace(")","");
           sourceString = sourceString.Replace("_","");
           sourceString = sourceString.Replace("+","");
           sourceString = sourceString.Replace("|","");
           sourceString = sourceString.Replace("?","");
           sourceString = sourceString.Replace("/","");
           sourceString = sourceString.Replace(".","");
           sourceString = sourceString.Replace(">","");
           sourceString = sourceString.Replace("<","");
           sourceString = sourceString.Replace("{","");
           sourceString = sourceString.Replace("}","");
           sourceString = sourceString.Replace("[","");
           sourceString = sourceString.Replace("]","");
           sourceString = sourceString.Replace("-","");
           sourceString = sourceString.Replace("=","");
           sourceString = sourceString.Replace(",","");
           return sourceString;
        }
    }
}
/*************************************************************************************
* 代码:吴蒋
* 时间:2012.03.30
* 说明:字符串处理公共基类
* 其他:
* 修改人:
* 修改时间:
* 修改说明:
************************************************************************************/
using System;
usingSystem.Web;
usingSystem.Text.RegularExpressions;
usingSystem.Text;
namespaceCommon
{
    publicclass StringHelp
    {
        /// <summary>
        /// 默认构造函数
        /// </summary>
        public StringHelp() { }
        /// <summary>
        /// 判断参数字符是否为空
        /// </summary>
        /// <param name="sourceString">输入字符串</param>
        /// <returns>True:为空;falsh:不为空</returns>
        public staticbool IsNull(stringsourceString)
        {
            if (String.Equals(sourceString,null) || String.Equals(sourceString,""))
            {
               return true;
            }
            return false;
        }
        /// <summary>
        /// 获取操作字符串长度
        /// </summary>
        /// <param name="sourceString">输入字符串</param>
        /// <returns>返回长度</returns>
        public staticint MaxLength(stringsourceString)
        {
            return sourceString.Length;
        }
        /// <summary>
        /// 双向截取一定长度字符串
        /// </summary>
        /// <param name="sourceString">输入操作字符串</param>
        /// <param name="leftOrRight">截取方向True:Left;Flash:Right</param>
        /// <param name="size">要截取的大小</param>
        /// <returns>返回截取后的字符串</returns>
        public staticstring InterceptString(stringsourceString, boolleftOrRight, intsize)
        {
            if (IsNull(sourceString))
            { throw new Exception("操作字符串参数不能为空!"); }
            int maxLength = MaxLength(sourceString);
            if (size >= maxLength)
            {
               return sourceString;
            }
            if (leftOrRight)
            {
               return sourceString.Substring(0, size);
            }
            return sourceString.Substring(maxLength - size, size);
        }
        /// <summary>
        /// 浅去除Html
        /// </summary>
        /// <param name="sourceString">输入操作字符串</param>
        /// <returns>返回操作后字符串</returns>
        public staticstring WipeOffHtml(stringsourceString)
        {
            return Regex.Replace(sourceString,"<[^>]*>", "");
        }
        /// <summary>
        /// 深去除Html包括脚本等
        /// </summary>
        /// <param name="sourceString">输入操作字符串</param>
        /// <returns>返回操作后字符串</returns>
        public stringScriptHtml(stringsourceString)
        {
            string[] aryReg = {
             @"<script[^>]*?>.*?</script>",
             @"<(\/\s*)?!?((\w+:)?\w+)(\w+(\s*=?\s*(([""'])(\\[""'tbnr]|[^\7])*?\7|\w+)|.{0})|\s)*?(\/\s*)?>",
             @"([\r\n])[\s]+",
             @"&(quot|#34);",
             @"&(amp|#38);",
             @"&(lt|#60);",
             @"&(gt|#62);",
             @"&(nbsp|#160);",
             @"&(iexcl|#161);",
             @"&(cent|#162);",
             @"&(pound|#163);",
            @"&(copy|#169);",
            @"&#(\d+);",
            @"-->",
            @"<!--.*\n"
         };
           string[] aryRep = {
            "",
            "",
            "",
            "\"",
            "&",
            "<",
            ">",
            " ",
            "\xa1",//chr(161),
            "\xa2",//chr(162),
            "\xa3",//chr(163),
            "\xa9",//chr(169),
            "",
            "\r\n",
            ""
         };
           string newReg = aryReg[0];
           string strOutput = sourceString;
           for (inti = 0; i < aryReg.Length; i++)
           {
               Regex regex = newRegex(aryReg[i], RegexOptions.IgnoreCase);
               strOutput = regex.Replace(strOutput, aryRep[i]);
           }
           strOutput.Replace("<","");
           strOutput.Replace(">","");
           strOutput.Replace("\r\n","");
           return strOutput;
        }
        /// <summary>
        /// 输入HTML中的ImgUrl
        /// </summary>
        /// <param name="sourceString">输入操作字符串</param>
        /// <returns>返回干净的Url</returns>
        public staticstring GetImgUrl(stringsourceString)
        {
           string str =string.Empty;
           Regex r = newRegex(@"<img\s+[^>]*\s*src\s*=\s*([']?)(?<url>\S+)'?[^>]*>",
           RegexOptions.Compiled);
           Match m = r.Match(sourceString.ToLower());
           if (m.Success)
               str = m.Result("${url}");
           return str;
        }
        /// <summary>
        /// 过滤SQL注入
        /// </summary>
        /// <param name="sourceString">输入操作字符串</param>
        /// <returns>返回安全的SQL</returns>
        public staticstring FilterSql(stringsourceString)
        {
           string str = sourceString;
           str = str.Replace("'","''");
           str = str.Replace("<","<");
           str = str.Replace(">",">");
           return str;
        }
        /// <summary>
        /// 移除非法或不友好字符
        /// </summary>
        /// <param name="keyWord">非法或不友好字符以|隔开</param>
        /// <param name="chkStr">要处理的字符串</param>
        /// <returns>处理后的字符串</returns>
        public staticstring FilterBadWords(stringkeyWord, stringsourceString)
        {
           if (sourceString =="")
           {
               return "";
           }
           string[] bwords = keyWord.Split('|');
           int i, j;
           string str;
           StringBuilder sb = newStringBuilder();
           for (i = 0; i < bwords.Length; i++)
           {
               str = bwords[i].ToString().Trim();
               string regStr, toStr;
               regStr = str;
               Regex r = newRegex(regStr, RegexOptions.IgnoreCase | RegexOptions.Singleline | RegexOptions.Multiline);
               Match m = r.Match(sourceString);
               if (m.Success)
               {
                   j = m.Value.Length;
                   sb.Insert(0, "*", j);
                   toStr = sb.ToString();
                   sourceString = Regex.Replace(sourceString, regStr, toStr, RegexOptions.IgnoreCase | RegexOptions.Singleline | RegexOptions.Multiline);
               }
               sb.Remove(0, sb.Length);
           }
           return sourceString;
        }
        /// <summary>
        /// 判断是否是合法IPV4
        /// </summary>
        /// <param name="sourceString">要处理的字符串</param>
        /// <returns>返回结果</returns>
        public staticbool IsIPV4(stringsourceString)
        {
           Regex rx = newRegex(@"((?:(?:25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))\.){3}(?:25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d))))");
           return (rx.IsMatch(sourceString));
        }
        /// <summary>
        /// IPV4转数字
        /// </summary>
        /// <param name="sourceString">要处理的字符串</param>
        /// <returns>返回结果</returns>
        public staticdouble IPV4Convert(stringsourceString)
        {
           if (!IsIPV4(sourceString))
           {
               throw newException("IP不合法!");
           }
           string[] listIP = sourceString.Split('.');
           StringBuilder intIP = newStringBuilder();
           for (inti = 0; i < listIP.Length; i++)
           {
               string ipPart = listIP[i].ToString();
               
               if (ipPart.Length == 3)
               {
                   intIP.Append(ipPart);
               }
               if (ipPart.Length == 2)
               {
                   intIP.Append("0"+ ipPart);
               }
               if (ipPart.Length == 1)
               {
                   intIP.Append("00"+ ipPart);
               }
           }
           return Convert.ToDouble(intIP.ToString());
        }
        /// <summary>
        /// 正则表达式判断字符串格式
        /// </summary>
        /// <param name="sourceString">要处理的字符串</param>
        /// <param name="strVerdict">正则表达式</param>
        /// <returns>返回结果</returns>
        public staticbool FormatVerdict(stringsourceString, stringstrVerdict)
        {
           Regex rx = newRegex(strVerdict);
           return (rx.IsMatch(sourceString));
        }
        /// <summary>
        /// 从字符串中的尾部删除指定的字符串
        /// </summary>
        /// <param name="sourceString">需要处理的字符串</param>
        /// <param name="removedString">删除匹配字符串</param>
        /// <returns>处理后字符串</returns>
        public staticstring Remove(stringsourceString, stringremovedString)
        {
           try
           {
               if (sourceString.IndexOf(removedString) < 0)
                   throw newException("原字符串中不包含移除字符串!");
               string result = sourceString;
               int lengthOfSourceString = sourceString.Length;
               int lengthOfRemovedString = removedString.Length;
               int startIndex = lengthOfSourceString - lengthOfRemovedString;
               string tempSubString = sourceString.Substring(startIndex);
               if (tempSubString.ToUpper() == removedString.ToUpper())
               {
                   result = sourceString.Remove(startIndex, lengthOfRemovedString);
               }
               return result;
           }
           catch
           {
               return sourceString;
           }
        }
        /// <summary>
        /// 获取拆分符右边的字符串
        /// </summary>
        /// <param name="sourceString"></param>
        /// <param name="splitChar"></param>
        /// <returns></returns>
        public staticstring RightSplit(stringsourceString, charsplitChar)
        {
           string result =null;
           string[] tempString = sourceString.Split(splitChar);
           if (tempString.Length > 0)
           {
               result = tempString[tempString.Length - 1].ToString();
           }
           return result;
        }
        /// <summary>
        /// 获取拆分符左边的字符串
        /// </summary>
        /// <param name="sourceString"></param>
        /// <param name="splitChar"></param>
        /// <returns></returns>
        public staticstring LeftSplit(stringsourceString, charsplitChar)
        {
           string result =null;
           string[] tempString = sourceString.Split(splitChar);
           if (tempString.Length > 0)
           {
               result = tempString[0].ToString();
           }
           return result;
        }
        /// <summary>
        /// 去掉最后一个逗号
        /// </summary>
        /// <param name="origin"></param>
        /// <returns></returns>
        public staticstring DelLastComma(stringorigin)
        {
           if (origin.IndexOf(",") == -1)
           {
               return origin;
           }
           return origin.Substring(0, origin.LastIndexOf(","));
        }
        /// <summary>
        /// 删除不可见字符
        /// </summary>
        /// <param name="sourceString"></param>
        /// <returns></returns>
        public staticstring DeleteUnVisibleChar(stringsourceString)
        {
           System.Text.StringBuilder sBuilder = newSystem.Text.StringBuilder(131);
           for (inti = 0; i < sourceString.Length; i++)
           {
               int Unicode = sourceString[i];
               if (Unicode >= 16)
               {
                   sBuilder.Append(sourceString[i].ToString());
               }
           }
           return sBuilder.ToString();
        }
        /// <summary>
        /// 获取数组元素的合并字符串
        /// </summary>
        /// <param name="stringArray"></param>
        /// <returns></returns>
        public staticstring GetArrayString(string[] stringArray)
        {
           string totalString =null;
           for (inti = 0; i < stringArray.Length; i++)
           {
               totalString = totalString + stringArray[i];
           }
           return totalString;
        }
        /// <summary>
        /// 获取某一字符串在字符串数组中出现的次数
        /// </summary>
        /// <param name="stringArray">输入要查询的字符串</param>
        /// <param name="findString">输入操作字符串</param>
        /// <returns>返回出现次数</returns>
        public staticint GetStringCount(string[] stringArray,string findString)
        {
           int count = -1;
           string totalString = GetArrayString(stringArray);
           string subString = totalString;
           while (subString.IndexOf(findString) >= 0)
           {
               subString = totalString.Substring(subString.IndexOf(findString));
               count += 1;
           }
           return count;
        }
        /// <summary>
        /// 获取某一字符串在字符串中出现的次数
        /// </summary>
        /// <param name="sourceString">输入操作字符串</param>
        /// <param name="findString">要查询的字符</param>
        /// <returns>返回出现次数</returns>
        public staticint GetStringCount(stringsourceString, stringfindString)
        {
           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 staticstring GetSubString(stringsourceString, stringstartString)
        {
           try
           {
               int index = sourceString.ToUpper().IndexOf(startString);
               if (index > 0)
               {
                   return sourceString.Substring(index);
               }
               return sourceString;
           }
           catch
           {
               return "";
           }
        }
        /// <summary>
        /// 删除从beginRemovedString到 endRemovedString的字符串
        /// </summary>
        /// <param name="sourceString">需要操作的字符串</param>
        /// <param name="beginRemovedString">开始字符</param>
        /// <param name="endRemovedString">结束字符</param>
        /// <returns>返回结果</returns>
        public staticstring GetSubString(stringsourceString, stringbeginRemovedString, stringendRemovedString)
        {
           try
           {
               if (sourceString.IndexOf(beginRemovedString) != 0)
                   beginRemovedString = "";
               if (sourceString.LastIndexOf(endRemovedString, sourceString.Length - endRemovedString.Length) < 0)
                   endRemovedString = "";
               int startIndex = beginRemovedString.Length;
               int length = sourceString.Length - beginRemovedString.Length - endRemovedString.Length;
               if (length > 0)
               {
                   return sourceString.Substring(startIndex, length);
               }
               return sourceString;
           }
           catch
           {
               return sourceString; ;
           }
        }
        /// <summary>
        /// 按字节数取出字符串的长度
        /// </summary>
        /// <param name="strTmp">要计算的字符串</param>
        /// <returns>字符串的字节数</returns>
        public staticint GetByteCount(stringstrTmp)
        {
           int intCharCount = 0;
           for (inti = 0; i < strTmp.Length; i++)
           {
               if (System.Text.UTF8Encoding.UTF8.GetByteCount(strTmp.Substring(i, 1)) == 3)
               {
                   intCharCount = intCharCount + 2;
               }
               else
               {
                   intCharCount = intCharCount + 1;
               }
           }
           return intCharCount;
        }
        /// <summary>
        /// 按字节数要在字符串的位置
        /// </summary>
        /// <param name="intIns">字符串的位置</param>
        /// <param name="strTmp">要计算的字符串</param>
        /// <returns>字节的位置</returns>
        public staticint GetByteIndex(intintIns, stringstrTmp)
        {
           int intReIns = 0;
           if (strTmp.Trim() =="")
           {
               return intIns;
           }
           for (inti = 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="text">输入字符串</param>
        /// <param name="maxLength">最大长度</param>
        /// <returns>返回操作结果</returns>
        public staticstring InputText(stringsourceString, intmaxLength)
        {
           sourceString = sourceString.Trim();
           if (string.IsNullOrEmpty(sourceString))
               return string.Empty;
           if (sourceString.Length > maxLength)
               sourceString = sourceString.Substring(0, maxLength);
           sourceString = Regex.Replace(sourceString, "[\\s]{2,}", " "); //two or more spaces
           sourceString = Regex.Replace(sourceString, "(<[b|B][r|R]/*>)+|(<[p|P](.|\\n)*?>)","\n"); //<br>
           sourceString = Regex.Replace(sourceString, "(\\s*&[n|N][b|B][s|S][p|P];\\s*)+"," "); //
           sourceString = Regex.Replace(sourceString, "<(.|\\n)*?>", string.Empty); //any other tags
           sourceString = sourceString.Replace("'","''");
           return sourceString;
        }
        /// <summary>
        /// 转义操作
        /// </summary>
        /// <param name="sourceString">输入操作字符串</param>
        /// <returns>返回操作结果</returns>
        public staticstring Encode(stringsourceString)
        {
           sourceString = sourceString.Replace("'","'");
           sourceString = sourceString.Replace("\"",""");
           sourceString = sourceString.Replace("<","<");
           sourceString = sourceString.Replace(">",">");
           return sourceString;
        }
        /// <summary>
        /// 反义操作
        /// </summary>
        /// <param name="sourceString">输入操作字符串</param>
        /// <returns>返回操作结果</returns>
        public staticstring Decode(stringsourceString)
        {
           sourceString = sourceString.Replace(">",">");
           sourceString = sourceString.Replace("<","<");
           sourceString = sourceString.Replace(" "," ");
           sourceString = sourceString.Replace(""", "\"");
           return sourceString;
        }
        /// <summary>
        /// 字符传的转换 用在查询 登陆时 防止恶意的盗取密码
        /// </summary>
        /// <param name="sourceString">输入操作字符串</param>
        /// <returns>返回操作结果</returns>
        public staticstring TBCode(stringsourceString)
        {
           sourceString = sourceString.Replace("!","");
           sourceString = sourceString.Replace("@","");
           sourceString = sourceString.Replace("#","");
           sourceString = sourceString.Replace("$","");
           sourceString = sourceString.Replace("%","");
           sourceString = sourceString.Replace("^","");
           sourceString = sourceString.Replace("&","");
           sourceString = sourceString.Replace("*","");
           sourceString = sourceString.Replace("(","");
           sourceString = sourceString.Replace(")","");
           sourceString = sourceString.Replace("_","");
           sourceString = sourceString.Replace("+","");
           sourceString = sourceString.Replace("|","");
           sourceString = sourceString.Replace("?","");
           sourceString = sourceString.Replace("/","");
           sourceString = sourceString.Replace(".","");
           sourceString = sourceString.Replace(">","");
           sourceString = sourceString.Replace("<","");
           sourceString = sourceString.Replace("{","");
           sourceString = sourceString.Replace("}","");
           sourceString = sourceString.Replace("[","");
           sourceString = sourceString.Replace("]","");
           sourceString = sourceString.Replace("-","");
           sourceString = sourceString.Replace("=","");
           sourceString = sourceString.Replace(",","");
           return sourceString;
        }
    }
}

 

原创粉丝点击