asp.net 字符串操作
一、字符串截取
1 /// <summary> 2 /// 根据 关键字 截取字符串 3 /// </summary> 4 /// <param name="array">ArrayList 存放返回字符串的地方</param> 5 /// <param name="str">要截取的字符串</param> 6 /// <param name="pagecode">关键字 比如:“aa”</param> 7 /// <returns>比如:123aa321aa4354654 返回 123 321 4354654 存放到ArrayList里面</returns> 8 public static ArrayList GetSplit(ArrayList array, string str, string pagecode) 9 { 10 int strcount = str.Length; 11 for (int i = 0; i < strcount; ) 12 { 13 int temp = str.IndexOf(pagecode); 14 if (temp < 0) 15 { 16 break; 17 } 18 else 19 { 20 array.Add(str.Substring(0, temp)); 21 str = str.Substring(temp + pagecode.Length); 22 i = i + temp + pagecode.Length; 23 } 24 } 25 array.Add(str); 26 return array; 27 }
1 /// <summary> 2 /// 截取字符串[汉字=1个字符] 3 /// </summary> 4 /// <param name="Strs">截取的内容</param> 5 /// <param name="length">想要留下多少个字符</param> 6 /// <param name="str">截取完,后面加点什么:比如 zxcv...</param> 7 /// <returns>返回截取好的字符串</returns> 8 public static string Intercep(string Strs,int length,string str) 9 { 10 if (Strs.Length > length) 11 { 12 Strs = Strs.Substring(0, length) + str; 13 } 14 return Strs; 15 } 16 /// <summary> 17 /// 截取指定长度的字符串[汉字=2个字符] 18 /// </summary> 19 /// <param name="Strs">截取的内容</param> 20 /// <param name="length">想要留下多少个字符</param> 21 /// <param name="Str">截取完,后面加点什么:比如 zxcv...</param> 22 /// <returns>返回截取好的字符串</returns> 23 public static string Intercep2(string Strs, int length, string Str) 24 { 25 string tmp = Strs.Trim(); 26 int i = 0, j = 0; 27 foreach (char chr in tmp) 28 { 29 if ((int)chr > 127) 30 { 31 i += 2; 32 } 33 else 34 { 35 i++; 36 } 37 if (i > length) 38 { 39 tmp = tmp.Substring(0, j) + Str; 40 break; 41 } 42 j++; 43 } 44 return tmp; 45 }
二、字符串转换
1 /// <summary> 2 /// 需要转换的字符把每个字符串的首字母转换大写 3 /// </summary> 4 /// <param name="strChange">需要转换的字符</param> 5 /// <returns>返回已经转换的字符</returns> 6 public static string ChangeFirstLetterToUpper(string strChange) 7 { 8 try 9 { 10 string tempFirst = strChange.Substring(0, 1); 11 string tempElse = strChange.Substring(1, strChange.Length - 1); 12 return (tempFirst.ToUpper() + tempElse); 13 } 14 catch 15 { 16 return strChange; 17 } 18 }
1 /// <summary> 2 /// 汉字转换成全拼的拼音 3 /// </summary> 4 /// <param name="Chstr">汉字字符串</param> 5 /// <returns>转换后的拼音字符串</returns> 6 public static string Pinyin(string Chstr) 7 { 8 //定义拼音区编码数组 9 int[] getValue = new int[] 10 { 11 -20319,-20317,-20304,-20295,-20292,-20283,-20265,-20257,-20242,-20230,-20051,-20036, 12 -20032,-20026,-20002,-19990,-19986,-19982,-19976,-19805,-19784,-19775,-19774,-19763, 13 -19756,-19751,-19746,-19741,-19739,-19728,-19725,-19715,-19540,-19531,-19525,-19515, 14 -19500,-19484,-19479,-19467,-19289,-19288,-19281,-19275,-19270,-19263,-19261,-19249, 15 -19243,-19242,-19238,-19235,-19227,-19224,-19218,-19212,-19038,-19023,-19018,-19006, 16 -19003,-18996,-18977,-18961,-18952,-18783,-18774,-18773,-18763,-18756,-18741,-18735, 17 -18731,-18722,-18710,-18697,-18696,-18526,-18518,-18501,-18490,-18478,-18463,-18448, 18 -18447,-18446,-18239,-18237,-18231,-18220,-18211,-18201,-18184,-18183, -18181,-18012, 19 -17997,-17988,-17970,-17964,-17961,-17950,-17947,-17931,-17928,-17922,-17759,-17752, 20 -17733,-17730,-17721,-17703,-17701,-17697,-17692,-17683,-17676,-17496,-17487,-17482, 21 -17468,-17454,-17433,-17427,-17417,-17202,-17185,-16983,-16970,-16942,-16915,-16733, 22 -16708,-16706,-16689,-16664,-16657,-16647,-16474,-16470,-16465,-16459,-16452,-16448, 23 -16433,-16429,-16427,-16423,-16419,-16412,-16407,-16403,-16401,-16393,-16220,-16216, 24 -16212,-16205,-16202,-16187,-16180,-16171,-16169,-16158,-16155,-15959,-15958,-15944, 25 -15933,-15920,-15915,-15903,-15889,-15878,-15707,-15701,-15681,-15667,-15661,-15659, 26 -15652,-15640,-15631,-15625,-15454,-15448,-15436,-15435,-15419,-15416,-15408,-15394, 27 -15385,-15377,-15375,-15369,-15363,-15362,-15183,-15180,-15165,-15158,-15153,-15150, 28 -15149,-15144,-15143,-15141,-15140,-15139,-15128,-15121,-15119,-15117,-15110,-15109, 29 -14941,-14937,-14933,-14930,-14929,-14928,-14926,-14922,-14921,-14914,-14908,-14902, 30 -14894,-14889,-14882,-14873,-14871,-14857,-14678,-14674,-14670,-14668,-14663,-14654, 31 -14645,-14630,-14594,-14429,-14407,-14399,-14384,-14379,-14368,-14355,-14353,-14345, 32 -14170,-14159,-14151,-14149,-14145,-14140,-14137,-14135,-14125,-14123,-14122,-14112, 33 -14109,-14099,-14097,-14094,-14092,-14090,-14087,-14083,-13917,-13914,-13910,-13907, 34 -13906,-13905,-13896,-13894,-13878,-13870,-13859,-13847,-13831,-13658,-13611,-13601, 35 -13406,-13404,-13400,-13398,-13395,-13391,-13387,-13383,-13367,-13359,-13356,-13343, 36 -13340,-13329,-13326,-13318,-13147,-13138,-13120,-13107,-13096,-13095,-13091,-13076, 37 -13068,-13063,-13060,-12888,-12875,-12871,-12860,-12858,-12852,-12849,-12838,-12831, 38 -12829,-12812,-12802,-12607,-12597,-12594,-12585,-12556,-12359,-12346,-12320,-12300, 39 -12120,-12099,-12089,-12074,-12067,-12058,-12039,-11867,-11861,-11847,-11831,-11798, 40 -11781,-11604,-11589,-11536,-11358,-11340,-11339,-11324,-11303,-11097,-11077,-11067, 41 -11055,-11052,-11045,-11041,-11038,-11024,-11020,-11019,-11018,-11014,-10838,-10832, 42 -10815,-10800,-10790,-10780,-10764,-10587,-10544,-10533,-10519,-10331,-10329,-10328, 43 -10322,-10315,-10309,-10307,-10296,-10281,-10274,-10270,-10262,-10260,-10256,-10254 44 }; 45 //定义拼音数组 46 string[] getName = new string[] 47 { 48 "A","Ai","An","Ang","Ao","Ba","Bai","Ban","Bang","Bao","Bei","Ben", 49 "Beng","Bi","Bian","Biao","Bie","Bin","Bing","Bo","Bu","Ba","Cai","Can", 50 "Cang","Cao","Ce","Ceng","Cha","Chai","Chan","Chang","Chao","Che","Chen","Cheng", 51 "Chi","Chong","Chou","Chu","Chuai","Chuan","Chuang","Chui","Chun","Chuo","Ci","Cong", 52 "Cou","Cu","Cuan","Cui","Cun","Cuo","Da","Dai","Dan","Dang","Dao","De", 53 "Deng","Di","Dian","Diao","Die","Ding","Diu","Dong","Dou","Du","Duan","Dui", 54 "Dun","Duo","E","En","Er","Fa","Fan","Fang","Fei","Fen","Feng","Fo", 55 "Fou","Fu","Ga","Gai","Gan","Gang","Gao","Ge","Gei","Gen","Geng","Gong", 56 "Gou","Gu","Gua","Guai","Guan","Guang","Gui","Gun","Guo","Ha","Hai","Han", 57 "Hang","Hao","He","Hei","Hen","Heng","Hong","Hou","Hu","Hua","Huai","Huan", 58 "Huang","Hui","Hun","Huo","Ji","Jia","Jian","Jiang","Jiao","Jie","Jin","Jing", 59 "Jiong","Jiu","Ju","Juan","Jue","Jun","Ka","Kai","Kan","Kang","Kao","Ke", 60 "Ken","Keng","Kong","Kou","Ku","Kua","Kuai","Kuan","Kuang","Kui","Kun","Kuo", 61 "La","Lai","Lan","Lang","Lao","Le","Lei","Leng","Li","Lia","Lian","Liang", 62 "Liao","Lie","Lin","Ling","Liu","Long","Lou","Lu","Lv","Luan","Lue","Lun", 63 "Luo","Ma","Mai","Man","Mang","Mao","Me","Mei","Men","Meng","Mi","Mian", 64 "Miao","Mie","Min","Ming","Miu","Mo","Mou","Mu","Na","Nai","Nan","Nang", 65 "Nao","Ne","Nei","Nen","Neng","Ni","Nian","Niang","Niao","Nie","Nin","Ning", 66 "Niu","Nong","Nu","Nv","Nuan","Nue","Nuo","O","Ou","Pa","Pai","Pan", 67 "Pang","Pao","Pei","Pen","Peng","Pi","Pian","Piao","Pie","Pin","Ping","Po", 68 "Pu","Qi","Qia","Qian","Qiang","Qiao","Qie","Qin","Qing","Qiong","Qiu","Qu", 69 "Quan","Que","Qun","Ran","Rang","Rao","Re","Ren","Reng","Ri","Rong","Rou", 70 "Ru","Ruan","Rui","Run","Ruo","Sa","Sai","San","Sang","Sao","Se","Sen", 71 "Seng","Sha","Shai","Shan","Shang","Shao","She","Shen","Sheng","Shi","Shou","Shu", 72 "Shua","Shuai","Shuan","Shuang","Shui","Shun","Shuo","Si","Song","Sou","Su","Suan", 73 "Sui","Sun","Suo","Ta","Tai","Tan","Tang","Tao","Te","Teng","Ti","Tian", 74 "Tiao","Tie","Ting","Tong","Tou","Tu","Tuan","Tui","Tun","Tuo","Wa","Wai", 75 "Wan","Wang","Wei","Wen","Weng","Wo","Wu","Xi","Xia","Xian","Xiang","Xiao", 76 "Xie","Xin","Xing","Xiong","Xiu","Xu","Xuan","Xue","Xun","Ya","Yan","Yang", 77 "Yao","Ye","Yi","Yin","Ying","Yo","Yong","You","Yu","Yuan","Yue","Yun", 78 "Za", "Zai","Zan","Zang","Zao","Ze","Zei","Zen","Zeng","Zha","Zhai","Zhan", 79 "Zhang","Zhao","Zhe","Zhen","Zheng","Zhi","Zhong","Zhou","Zhu","Zhua","Zhuai","Zhuan", 80 "Zhuang","Zhui","Zhun","Zhuo","Zi","Zong","Zou","Zu","Zuan","Zui","Zun","Zuo" 81 }; 82 Regex reg = new Regex("^[\u4e00-\u9fa5]$");//验证是否输入汉字 83 byte[] arr = new byte[2]; 84 string pystr = ""; 85 int asc = 0, M1 = 0, M2 = 0; 86 char[] mChar = Chstr.ToCharArray();//获取汉字对应的字符数组 87 for (int j = 0; j < mChar.Length; j++) 88 { 89 //如果输入的是汉字 90 if (reg.IsMatch(mChar[j].ToString())) 91 { 92 arr = System.Text.Encoding.Default.GetBytes(mChar[j].ToString()); 93 M1 = (short)(arr[0]); 94 M2 = (short)(arr[1]); 95 asc = M1 * 256 + M2 - 65536; 96 if (asc > 0 && asc < 160) 97 { 98 pystr += mChar[j]; 99 } 100 else 101 { 102 switch (asc) 103 { 104 case -9254: 105 pystr += "Zhen"; break; 106 case -8985: 107 pystr += "Qian"; break; 108 case -5463: 109 pystr += "Jia"; break; 110 case -8274: 111 pystr += "Ge"; break; 112 case -5448: 113 pystr += "Ga"; break; 114 case -5447: 115 pystr += "La"; break; 116 case -4649: 117 pystr += "Chen"; break; 118 case -5436: 119 pystr += "Mao"; break; 120 case -5213: 121 pystr += "Mao"; break; 122 case -3597: 123 pystr += "Die"; break; 124 case -5659: 125 pystr += "Tian"; break; 126 default: 127 for (int i = (getValue.Length - 1); i >= 0; i--) 128 { 129 if (getValue[i] <= asc)//判断汉字的拼音区编码是否在指定范围内 130 { 131 pystr += getName[i];//如果不超出范围则获取对应的拼音 132 break; 133 } 134 } 135 break; 136 } 137 } 138 } 139 else//如果不是汉字 140 { 141 pystr += mChar[j].ToString();//如果不是汉字则返回 142 } 143 } 144 return pystr;//返回获取到的汉字拼音 145 }
1 /// <summary>
2 /// 把字符串按照分隔符转换成 List
3 /// </summary>
4 /// <param name="str">源字符串</param>
5 /// <param name="speater">分隔符</param>
6 /// <param name="toLower">是否转换为小写</param>
7 /// <returns></returns>
8 public static List<string> GetStrArray(string str, char speater, bool toLower)
9 {
10 List<string> list = new List<string>();
11 string[] ss = str.Split(speater);
12 foreach (string s in ss)
13 {
14 if (!string.IsNullOrEmpty(s) && s != speater.ToString())
15 {
16 string strVal = s;
17 if (toLower)
18 {
19 strVal = s.ToLower();
20 }
21 list.Add(strVal);
22 }
23 }
24 return list;
25 }
1 /// <summary> 2 /// 把 List<string> 按照分隔符组装成 string 3 /// </summary> 4 /// <param name="list"></param> 5 /// <param name="speater"></param> 6 /// <returns></returns> 7 public static string GetArrayStr(List<string> list, string speater) 8 { 9 StringBuilder sb = new StringBuilder(); 10 for (int i = 0; i < list.Count; i++) 11 { 12 if (i == list.Count - 1) 13 { 14 sb.Append(list[i]); 15 } 16 else 17 { 18 sb.Append(list[i]); 19 sb.Append(speater); 20 } 21 } 22 return sb.ToString(); 23 }
1 /// <summary> 2 /// 得到数组列表以逗号分隔的字符串 3 /// </summary> 4 /// <param name="list"></param> 5 /// <returns></returns> 6 public static string GetArrayStr(List<int> list) 7 { 8 StringBuilder sb = new StringBuilder(); 9 for (int i = 0; i < list.Count; i++) 10 { 11 if (i == list.Count - 1) 12 { 13 sb.Append(list[i].ToString()); 14 } 15 else 16 { 17 sb.Append(list[i]); 18 sb.Append(","); 19 } 20 } 21 return sb.ToString(); 22 } 23 /// <summary> 24 /// 得到数组列表以逗号分隔的字符串 25 /// </summary> 26 /// <param name="list"></param> 27 /// <returns></returns> 28 public static string GetArrayValueStr(Dictionary<int, int> list) 29 { 30 StringBuilder sb = new StringBuilder(); 31 foreach (KeyValuePair<int, int> kvp in list) 32 { 33 sb.Append(kvp.Value + ","); 34 } 35 if (list.Count > 0) 36 { 37 return DelLastComma(sb.ToString()); 38 } 39 else 40 { 41 return ""; 42 } 43 }
1 /// <summary> 2 /// 转全角的函数(SBC case) 3 /// </summary> 4 /// <param name="input"></param> 5 /// <returns></returns> 6 public static string ToSBC(string input) 7 { 8 //半角转全角: 9 char[] c = input.ToCharArray(); 10 for (int i = 0; i < c.Length; i++) 11 { 12 if (c[i] == 32) 13 { 14 c[i] = (char)12288; 15 continue; 16 } 17 if (c[i] < 127) 18 c[i] = (char)(c[i] + 65248); 19 } 20 return new string(c); 21 }
1 /// <summary> 2 /// 转半角的函数(SBC case) 3 /// </summary> 4 /// <param name="input">输入</param> 5 /// <returns></returns> 6 public static string ToDBC(string input) 7 { 8 char[] c = input.ToCharArray(); 9 for (int i = 0; i < c.Length; i++) 10 { 11 if (c[i] == 12288) 12 { 13 c[i] = (char)32; 14 continue; 15 } 16 if (c[i] > 65280 && c[i] < 65375) 17 c[i] = (char)(c[i] - 65248); 18 } 19 return new string(c); 20 }
1 /// <summary> 2 /// 把字符串按照指定分隔符装成 List 去除重复 3 /// </summary> 4 /// <param name="o_str"></param> 5 /// <param name="sepeater"></param> 6 /// <returns></returns> 7 public static List<string> GetSubStringList(string o_str, char sepeater) 8 { 9 List<string> list = new List<string>(); 10 string[] ss = o_str.Split(sepeater); 11 foreach (string s in ss) 12 { 13 if (!string.IsNullOrEmpty(s) && s != sepeater.ToString()) 14 { 15 list.Add(s); 16 } 17 } 18 return list; 19 }
1 /// <summary> 2 /// HTML转行成TEXT 3 /// </summary> 4 /// <param name="strHtml"></param> 5 /// <returns></returns> 6 public static string HtmlToTxt(string strHtml) 7 { 8 string[] aryReg ={ 9 @"<script[^>]*?>.*?</script>", 10 @"<(\/\s*)?!?((\w+:)?\w+)(\w+(\s*=?\s*(([""'])(\\[""'tbnr]|[^\7])*?\7|\w+)|.{0})|\s)*?(\/\s*)?>", 11 @"([\r\n])[\s]+", 12 @"&(quot|#34);", 13 @"&(amp|#38);", 14 @"&(lt|#60);", 15 @"&(gt|#62);", 16 @"&(nbsp|#160);", 17 @"&(iexcl|#161);", 18 @"&(cent|#162);", 19 @"&(pound|#163);", 20 @"&(copy|#169);", 21 @"&#(\d+);", 22 @"-->", 23 @"<!--.*\n" 24 }; 25 string newReg = aryReg[0]; 26 string strOutput = strHtml; 27 for (int i = 0; i < aryReg.Length; i++) 28 { 29 Regex regex = new Regex(aryReg[i], RegexOptions.IgnoreCase); 30 strOutput = regex.Replace(strOutput, string.Empty); 31 } 32 strOutput.Replace("<", ""); 33 strOutput.Replace(">", ""); 34 strOutput.Replace("\r\n", ""); 35 36 return strOutput; 37 }

浙公网安备 33010602011771号