Csharp/C#教程:C#自定义的字符串操作增强类实例分享

本文实例讲述了C#自定义的字符串操作增强类。分享给大家供大家参考。具体如下:

这个C#类在C#自由的字符串操作类的基础上进行的大幅度增强,把我们平时可能用到的字符串操作都做进去了,字符串的处理我想大部分编程都不可避免,有了这个类,可以节省你很多时间,同时可以根据自己的需要对这个C#字符串类进行扩展。

usingSystem; usingSystem.Collections.Generic; usingSystem.Text; usingSystem.Text.RegularExpressions; namespaceDotNet.Utilities { ///<summary> ///字符串操作类 ///1、GetStrArray(stringstr,charspeater,booltoLower)把字符串按照分隔符转换成List ///2、GetStrArray(stringstr)把字符串转按照,分割换为数据 ///3、GetArrayStr(Listlist,stringspeater)把List按照分隔符组装成string ///4、GetArrayStr(Listlist)得到数组列表以逗号分隔的字符串 ///5、GetArrayValueStr(Dictionary<int,int>list)得到数组列表以逗号分隔的字符串 ///6、DelLastComma(stringstr)删除最后结尾的一个逗号 ///7、DelLastChar(stringstr,stringstrchar)删除最后结尾的指定字符后的字符 ///8、ToSBC(stringinput)转全角的函数(SBCcase) ///9、ToDBC(stringinput)转半角的函数(SBCcase) ///10、GetSubStringList(stringo_str,charsepeater)把字符串按照指定分隔符装成List去除重复 ///11、GetCleanStyle(stringStrList,stringSplitString)将字符串样式转换为纯字符串 ///12、GetNewStyle(stringStrList,stringNewStyle,stringSplitString,outstringError)将字符串转换为新样式 ///13、SplitMulti(stringstr,stringsplitstr)分割字符串 ///14、SqlSafeString(stringString,boolIsDel) ///</summary> publicclassStringPlus { ///<summary> ///把字符串按照分隔符转换成List ///</summary> ///<paramname="str">源字符串</param> ///<paramname="speater">分隔符</param> ///<paramname="toLower">是否转换为小写</param> ///<returns></returns> publicstaticList<string>GetStrArray(stringstr,charspeater,booltoLower) { List<string>list=newList<string>(); string[]ss=str.Split(speater); foreach(stringsinss) { if(!string.IsNullOrEmpty(s)&&s!=speater.ToString()) { stringstrVal=s; if(toLower) { strVal=s.ToLower(); } list.Add(strVal); } } returnlist; } ///<summary> ///把字符串转按照,分割换为数据 ///</summary> ///<paramname="str"></param> ///<returns></returns> publicstaticstring[]GetStrArray(stringstr) { returnstr.Split(newChar[]{','}); } ///<summary> ///把List<string>按照分隔符组装成string ///</summary> ///<paramname="list"></param> ///<paramname="speater"></param> ///<returns></returns> publicstaticstringGetArrayStr(List<string>list,stringspeater) { StringBuildersb=newStringBuilder(); for(inti=0;i<list.Count;i++) { if(i==list.Count-1) { sb.Append(list[i]); } else { sb.Append(list[i]); sb.Append(speater); } } returnsb.ToString(); } ///<summary> ///得到数组列表以逗号分隔的字符串 ///</summary> ///<paramname="list"></param> ///<returns></returns> publicstaticstringGetArrayStr(List<int>list) { StringBuildersb=newStringBuilder(); for(inti=0;i<list.Count;i++) { if(i==list.Count-1) { sb.Append(list[i].ToString()); } else { sb.Append(list[i]); sb.Append(","); } } returnsb.ToString(); } ///<summary> ///得到数组列表以逗号分隔的字符串 ///</summary> ///<paramname="list"></param> ///<returns></returns> publicstaticstringGetArrayValueStr(Dictionary<int,int>list) { StringBuildersb=newStringBuilder(); foreach(KeyValuePair<int,int>kvpinlist) { sb.Append(kvp.Value+","); } if(list.Count>0) { returnDelLastComma(sb.ToString()); } else { return""; } } #region删除最后一个字符之后的字符 ///<summary> ///删除最后结尾的一个逗号 ///</summary> publicstaticstringDelLastComma(stringstr) { returnstr.Substring(0,str.LastIndexOf(",")); } ///<summary> ///删除最后结尾的指定字符后的字符 ///</summary> publicstaticstringDelLastChar(stringstr,stringstrchar) { returnstr.Substring(0,str.LastIndexOf(strchar)); } #endregion ///<summary> ///转全角的函数(SBCcase) ///</summary> ///<paramname="input"></param> ///<returns></returns> publicstaticstringToSBC(stringinput) { //半角转全角: char[]c=input.ToCharArray(); for(inti=0;i<c.Length;i++) { if(c[i]==32) { c[i]=(char)12288; continue; } if(c[i]<127) c[i]=(char)(c[i]+65248); } returnnewstring(c); } ///<summary> ///转半角的函数(SBCcase) ///</summary> ///<paramname="input">输入</param> ///<returns></returns> publicstaticstringToDBC(stringinput) { char[]c=input.ToCharArray(); for(inti=0;i<c.Length;i++) { if(c[i]==12288) { c[i]=(char)32; continue; } if(c[i]>65280&&c[i]<65375) c[i]=(char)(c[i]-65248); } returnnewstring(c); } ///<summary> ///把字符串按照指定分隔符装成List去除重复 ///</summary> ///<paramname="o_str"></param> ///<paramname="sepeater"></param> ///<returns></returns> publicstaticList<string>GetSubStringList(stringo_str,charsepeater) { List<string>list=newList<string>(); string[]ss=o_str.Split(sepeater); foreach(stringsinss) { if(!string.IsNullOrEmpty(s)&&s!=sepeater.ToString()) { list.Add(s); } } returnlist; } #region将字符串样式转换为纯字符串 ///<summary> ///将字符串样式转换为纯字符串 ///</summary> ///<paramname="StrList"></param> ///<paramname="SplitString"></param> ///<returns></returns> publicstaticstringGetCleanStyle(stringStrList,stringSplitString) { stringRetrunValue=""; //如果为空,返回空值 if(StrList==null) { RetrunValue=""; } else { //返回去掉分隔符 stringNewString=""; NewString=StrList.Replace(SplitString,""); RetrunValue=NewString; } returnRetrunValue; } #endregion #region将字符串转换为新样式 ///<summary> ///将字符串转换为新样式 ///</summary> ///<paramname="StrList"></param> ///<paramname="NewStyle"></param> ///<paramname="SplitString"></param> ///<paramname="Error"></param> ///<returns></returns> publicstaticstringGetNewStyle(stringStrList,stringNewStyle,stringSplitString,outstringError) { stringReturnValue=""; //如果输入空值,返回空,并给出错误提示 if(StrList==null) { ReturnValue=""; Error="请输入需要划分格式的字符串"; } else { //检查传入的字符串长度和样式是否匹配,如果不匹配,则说明使用错误。给出错误信息并返回空值 intstrListLength=StrList.Length; intNewStyleLength=GetCleanStyle(NewStyle,SplitString).Length; if(strListLength!=NewStyleLength) { ReturnValue=""; Error="样式格式的长度与输入的字符长度不符,请重新输入"; } else { //检查新样式中分隔符的位置 stringLengstr=""; for(inti=0;i<NewStyle.Length;i++) { if(NewStyle.Substring(i,1)==SplitString) { Lengstr=Lengstr+","+i; } } if(Lengstr!="") { Lengstr=Lengstr.Substring(1); } //将分隔符放在新样式中的位置 string[]str=Lengstr.Split(','); foreach(stringbbinstr) { StrList=StrList.Insert(int.Parse(bb),SplitString); } //给出最后的结果 ReturnValue=StrList; //因为是正常的输出,没有错误 Error=""; } } returnReturnValue; } #endregion ///<summary> ///分割字符串 ///</summary> ///<paramname="str"></param> ///<paramname="splitstr"></param> ///<returns></returns> publicstaticstring[]SplitMulti(stringstr,stringsplitstr) { string[]strArray=null; if((str!=null)&&(str!="")) { strArray=newRegex(splitstr).Split(str); } returnstrArray; } publicstaticstringSqlSafeString(stringString,boolIsDel) { if(IsDel) { String=String.Replace("'",""); String=String.Replace(""",""); returnString; } String=String.Replace("'","'"); String=String.Replace(""","""); returnString; } #region获取正确的Id,如果不是正整数,返回0 ///<summary> ///获取正确的Id,如果不是正整数,返回0 ///</summary> ///<paramname="_value"></param> ///<returns>返回正确的整数ID,失败返回0</returns> publicstaticintStrToId(string_value) { if(IsNumberId(_value)) returnint.Parse(_value); else return0; } #endregion #region检查一个字符串是否是纯数字构成的,一般用于查询字符串参数的有效性验证。 ///<summary> ///检查一个字符串是否是纯数字构成的,一般用于查询字符串参数的有效性验证。(0除外) ///</summary> ///<paramname="_value">需验证的字符串。。</param> ///<returns>是否合法的bool值。</returns> publicstaticboolIsNumberId(string_value) { returnQuickValidate("^[1-9]*[0-9]*$",_value); } #endregion #region快速验证一个字符串是否符合指定的正则表达式。 ///<summary> ///快速验证一个字符串是否符合指定的正则表达式。 ///</summary> ///<paramname="_express">正则表达式的内容。</param> ///<paramname="_value">需验证的字符串。</param> ///<returns>是否合法的bool值。</returns> publicstaticboolQuickValidate(string_express,string_value) { if(_value==null)returnfalse; RegexmyRegex=newRegex(_express); if(_value.Length==0) { returnfalse; } returnmyRegex.IsMatch(_value); } #endregion } }

希望本文所述对大家的C#程序设计有所帮助。

上述就是C#学习教程:C#自定义的字符串操作增强类实例分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)! 您可能感兴趣的文章:非常实用的C#字符串操作处理类StringHelper.cs

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/906124.html

(0)
上一篇 2021年10月23日
下一篇 2021年10月23日

精彩推荐