C#字符串的操作及方法归纳(一)
-
字符串的长度
System.String类的属性:Length(代表字符串的长度)
string str = "abcdefg"; Console.WriteLine(str.Length);//输出:7
-
字符串的大小写转换
public String ToUpper(); //将字符串转化成大写形式 public String ToLower(); //将字符串转化成小写形式
string str = "AbCdEfG"; Console.WriteLine("大写字符串:" + str.ToUpper());//输出:ABCDEFG Console.WriteLine("小写字符串:" + str.ToLower());//输出:abcdefg
-
字符串的比较
1、Compare
//比较字符串A和字符串B,如果返回-1,说明A小于B;返回0,说明A等于B;返回1,说明A大于B。 public static int Compare(String strA, String strB); //是否忽略大小写进行字符串比较 public static int Compare(String strA, String strB, bool ignoreCase);
string str1 = "B"; string str2 = "a"; string str3 = "b"; Console.WriteLine(string.Compare(str1, str3));//输出:1 (B > b) Console.WriteLine(string.Compare(str2, str3));//输出:-1 (a < b) Console.WriteLine(string.Compare(str1, str3, true));//输出:0
结论:大写 > 小写,小写看ASCII值。多字符的字符串是逐一比较的。
string str1 = "中华"; string str2 = "民族"; Console.WriteLine(string.Compare(str1, str2));//输出:1 (zhong > min) Console.WriteLine(string.Compare(str2, str1));//输出:-1 (min < zhong)
结论:中文按拼音进行比较。
2、CompareTo
public int CompareTo(String strB); //比较两个字符串,返回值与【Compare】说明一致
string str1 = "Hello"; string str2 = "C#"; Console.WriteLine(str1.CompareTo(str2));//输出:1 (Hello > C#)
3、Equals
//判断字符串是否相等。返回【True】,说明相等;返回【False】说明不相等 public bool Equals(String value); //选定的枚举比较方式,例如:忽略大小写 public bool Equals(String value, StringComparison comparisonType); public static bool Equals(String a, String b); //与上述相同
if ("ABC".Equals("abc")) { Console.WriteLine("1字符串相等。"); } if ("ABC".Equals("abc", StringComparison.OrdinalIgnoreCase)) { Console.WriteLine("2字符串相等。");//输出 } Console.WriteLine(Equals("HELLO", "hello"));//输出:False
-
字符串的格式化
格式 含义 C 专用场合的货币值 D 一般整数(只适用整数类型) E 科学计数法 F 小数点后的位数固定 G 一般整数 N 通用场合数字格式 P 百分数 X 十六进制格式(只适用整数类型) Console.WriteLine(string.Format("默认格式:{0}", 2022));//输出:2022 Console.WriteLine(string.Format("C格式:{0:C}", 2022));//输出:¥2,022.00 Console.WriteLine(string.Format("D格式:{0:D}", 2022));//输出:2022 Console.WriteLine(string.Format("E格式:{0:E}", 2022));//输出:2.022000E+003 Console.WriteLine(string.Format("F格式:{0:F}", 2022));//输出:2022.00 Console.WriteLine(string.Format("G格式:{0:G}", 2022));//输出:2022 Console.WriteLine(string.Format("N格式:{0:N}", 2022));//输出:2,022.00 Console.WriteLine(string.Format("P格式:{0:P}", 2022));//输出:202,200.00% Console.WriteLine(string.Format("X格式:{0:X}", 2022));//输出:7E6 //其他输出方式 Console.WriteLine(string.Format("F格式:{0:D5}", 02022));//输出:02022 (按5位输出整数) Console.WriteLine(string.Format("F格式:{0:F3}", 2022));//输出:2022.000 (按固定小数点后三位输出小数)
-
字符串的截取
//截取从下标startIndex(包括startIndex)到最后的字符串 public String Substring(int startIndex); //从下标startIndex(包括startIndex)开始截取length长度的字符串 public String Substring(int startIndex, int length);
string str = "0123456789"; Console.WriteLine(str.Substring(3));//输出:3456789 Console.WriteLine(str.Substring(2, 5));//输出:23456
因为作者精力有限,文章中难免出现一些错漏,敬请广大专家和网友批评、指正。