总结的5个C#字符串操作方法分享
程序员文章站
2023-01-22 13:30:08
字符串操作是c#中最基本的、最常见的、也是用的最多的,以下我总结了几种常见的方法:
1.把字符串按照分隔符转换成 list
///
字符串操作是c#中最基本的、最常见的、也是用的最多的,以下我总结了几种常见的方法:
1.把字符串按照分隔符转换成 list
/// <summary> /// 把字符串按照分隔符转换成 list /// </summary> /// <param name="str">源字符串</param> /// <param name="speater">分隔符</param> /// <param name="tolower">是否转换为小写</param> /// <returns></returns> public static list<string> getstrarray(string str, char speater, bool tolower) { var list = new list<string>(); var ss = str.split(speater); foreach (var s in ss) { if (string.isnullorwhitespace(s) || s == speater.tostring(cultureinfo.invariantculture)) continue; var strval = s; if (tolower) { strval = s.tolower(); } list.add(strval); } return list; }
2.把字符串转 按照, 分割 换为数据
/// <summary> /// 把字符串转 按照, 分割 换为数据 /// </summary> /// <param name="str"></param> /// <returns></returns> public static string[] getstrarray(string str) { return str.split(new[] { ',', ',' }); }
3.得到数组列表以逗号分隔的字符串
/// <summary> /// 得到数组列表以逗号分隔的字符串 /// </summary> /// <param name="list"></param> /// <param name="speater"></param> /// <returns></returns> public static string getarraystr(list<string> list, string speater) { var sb = new stringbuilder(); for (var i = 0; i < list.count; i++) { if (i == list.count - 1) { sb.append(list[i]); } else { sb.append(list[i]); sb.append(speater); } } return sb.tostring(); }
4.得到字符串长度
/// <summary> /// 得到字符串长度 /// </summary> /// <param name="inputstr"></param> /// <returns></returns> public static int strlength(string inputstr) { var asc = new asciiencoding(); var s = asc.getbytes(inputstr); return s.sum(t => t == 63 ? 2 : 1); }
5.截取指定长度字符串
/// <summary> /// 截取指定长度字符串 /// </summary> /// <param name="inputstring"></param> /// <param name="len"></param> /// <returns></returns> public static string cutstr(string inputstring, int len) { var isshowfix = false; if (len % 2 == 1) { isshowfix = true; len--; } var ascii = new asciiencoding(); var templen = 0; var tempstring = ""; var s = ascii.getbytes(inputstring); for (var i = 0; i < s.length; i++) { templen += s[i] == 63 ? 2 : 1; try { tempstring += inputstring.substring(i, 1); } catch { break; } if (templen > len) break; } var mybyte = encoding.default.getbytes(inputstring); if (isshowfix && mybyte.length > len) tempstring += "…"; return tempstring; }
暂时就这五种方法了。
上一篇: 经常洗脚按摩比吃药强百倍
下一篇: 雍正为什么要当众羞辱曾获康熙宠爱的宜妃?