【C#】string使用汇总
一、排序
char[] tmp = str.ToArray();
Array.Sort(tmp); //按ASCII排序
二、字节数组转换为ASCII字符串
// 字节数组 byte[] ba = new byte[] { 119,104,97,116,50,49,46,99,111,109 }; // 转换为ASCII的字符 string s = Encoding.ASCII.GetString(ba);
//转换ASCII字符串转换为字节数组 byte[] ba = Encoding.UTF8.GetBytes(s)
三、string与char[]之间的转换
string ss = "abcdefg";
char[] cc = ss.ToCharArray();
string s = new string(cc);
四、byte[]与char[]之间的转换
byte[] bb;
char[] cc = Encoding.ASCII.GetChars(bb);
byte[] bb = Encoding.ASCII.GetBytes(cc);
五、提取字符串中的数字
str = System.Text.RegularExpressions.Regex.Replace(str, @"[^0-9]+", "")
str = Regex.Replace(str, @"[^\d.\d]", "")//带小数点
六、判断字符串数组中某字符是否存在
int exist = Array.IndexOf(tmpArray, str);
//tmpArray为字符串数组,str为判断依据
if(exist == -1) //该字符不存在
{
//代码
}
七、字符串去重
char[] chars = newstr.ToList<char>().Distinct().ToArray<char>();
八、字符串转置
string newstr = new string(str.ToArray().Reverse().ToArray());
九、double转string后,显示非数字
当除数和被除数都为0时,返回非数字。
十、去掉string[]中为空的值
tmpArr = tmpArr.Where(x => !string.IsNullOrEmpty(x)).ToArray();
十一、判断字符串只包含字母或数字
string strdata = "0sfadg"; //0或正整数:@"^[0-9]\d*$" if (System.Text.RegularExpressions.Regex.IsMatch(strdata, "^[0-9a-zA-Z]+$")) { }
十二、字符串转化为固定长度左对齐,右补空格
/// <summary> /// 字符串转化为固定长度左对齐,右补空格 /// </summary> /// <param name="strTemp">需要补齐的字符串</param> /// <param name="length">补齐后的长度</param> /// <returns></returns> public string AlignmentStr(string strTemp, int length) { byte[] byteStr = System.Text.Encoding.Default.GetBytes(strTemp.Trim()); int iLength = byteStr.Length; int iNeed = length - iLength; byte[] spaceLength = Encoding.Default.GetBytes(" ");//获取一个空格的长度 iNeed = iNeed / spaceLength.Length; string spacestring = SpaceFunc(iNeed); return strTemp + spacestring; }
十三、“$” 符号的作用以及用法
“$” 符号是C#6.0中新出现的一个特性,也即是字符串的拼接优化。
string str =string.Format("my name is {0},my age is {1}.", name, age);
可写成:
string str = $"my name is {name},my age is {age}.";
/*******相与枕藉乎舟中,不知东方之既白*******/