C#String常用方法


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();    

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM