String常用类
字符串判断
C#中有2种字符串判断,
1. ==
2. 字符串对象.Equals(要比较的字符串);
提取(截取)字符串
subString(起始位置); -->从起始位置到末尾
subString(起始位置,长度);
字符串修剪
字符串对象.Trim() -->去除空格
字符串对象.Tirm('去除左右两边的字符');
字符串转大小写
字符串对象.ToUpper();
字符串对象.ToLower();
拆分字符串
字符串对象.Split('拆分的字符'); 返回值:String[]
合并字符串
String.Join('进行连接的字符',字符串数组)
获取字符下标
字符串对象.IndexOf('字符') -->获取第一个出现的下标
字符串对象.LastIndexOf('字符') -->获取最后一个字符的下标
字符串优化
频繁处理字符串需要使用:StringBuilder
常用方法:
1. Append() -->拼接
2. AppendFormat() -->处理占位符
3. AppendLine() -->拼接完会换行
4. Insert(位置,插入的内容) -->插入
案例一
从控制台输入一个邮箱,
1、验证邮箱的格式是否正确(包含.包含@ @必须在点之前)
2、输出邮箱的用户名和域名
1 //从控制台输入一个邮箱, 2 //控制台输入 3 Console.Write("请输入你的邮箱:"); 4 String email = Console.ReadLine(); 5 //1、验证邮箱的格式是否正确(包含.包含@ @必须在点之前) 6 int indexDian = email.IndexOf('.'); 7 int indexAnDe = email.IndexOf('@'); 8 if (indexDian == -1 || indexAnDe == -1) 9 { 10 Console.WriteLine("请输入正确的邮箱格式!"); 11 } 12 else if (indexDian <= indexAnDe) 13 { 14 Console.WriteLine("@必须在点之前"); 15 } 16 else 17 { 18 //2、输出邮箱的用户名和域名 123@qq.com 19 int index = email.IndexOf('@'); 20 String name = email.Substring(0, index); 21 22 String yuMing = email.Substring(index+1); 23 24 Console.WriteLine("用户名:{0}",name); 25 Console.WriteLine("域名:{0}",yuMing); 26 } 27 //防止一闪而过 28 Console.ReadLine();
案例二
1 while (true)
{
//控制台输入信息
Console.Write("请输入身份证:");
String id = Console.ReadLine();
Console.Write("请输入手机号:");
String phone = Console.ReadLine();
Console.Write("请输入座机号:");
String landline = Console.ReadLine();
//身份证必须是16-18位
if (!(id.Length == 16 || id.Length == 18))
{
Console.WriteLine("身份证号必须是16或十八位");
continue;
}
//手机号必须是11位
if (!(phone.Length == 11))
{
Console.WriteLine("手机号必须是11位");
continue;
}
//座机区号必须4位,电话号码必须7位
String[] number = landline.Split('-');
String num1 = number[0];
String num2 = number[1];
if (!(num1.Length == 4) && !(num2.Length == 7))
{
Console.WriteLine("座机区号必须4位,电话号码必须7位");
continue;
}
Console.WriteLine("注册成功");
break;
}
Console.ReadLine();
案例三
从控制台输入姓名的拼音,拼音中间使用空格隔开,如waNG li li
在控制台上输出WangLiLi(每个拼音的首字母大写,后面小写)
1 //控制台输入 2 Console.Write("请输入姓名拼音:"); 3 String name = Console.ReadLine(); 4 //字符串拆分 5 String[] names = name.Split(' '); 6 //循环 7 foreach (String nameSplit in names) 8 { 9 String nameFirst = nameSplit.Substring(0, 1); 10 String nameLast = nameSplit.Substring(1); 11 Console.Write(nameFirst.ToUpper()+nameLast.ToLower()); 12 } 13 //防止一闪而过 14 Console.ReadLine();
输入:zhang san
输出:ZhangSan
案例四
使用StringBuilder完成插入,控制台输入一串数字,每隔三个位置插入一个,
1 //控制台输入数字 12345678 2 //结果: 12,345,678 3 //控制台接收数据 4 Console.Write("请输入一串数字:"); 5 String num = Console.ReadLine(); 6 //StringBuilder 7 StringBuilder sb = new StringBuilder(); 8 sb.Append(num); 9 //循环 10 for (int i = num.Length - 3; i > 0; i -= 3) 11 { 12 //插入, 13 sb.Insert(i, ','); 14 } 15 Console.WriteLine(sb.ToString()); 16 17 //防止一闪而过 18 Console.ReadLine();