C#字符串

字符串处理
1.问题引入
判断用户输入的邮箱是否包含"@"
解决方法
 1   int IndexOf(char/string value)
 2   找到第一个匹配项所在的位置
 3   如果找到则为索引位置,否则-1
 4   
 5    static void Main(string[] args)
 6         {
 7             string email = "xiaoqiang@qq.com";
 8             int position = email.IndexOf("@");
 9             Console.WriteLine($"@所在的位置索引:"+position);
10             Console.ReadKey();
11         }
2.问题引入
如何判断用户密码长度是否符合要求
解决方法
 1 string.Length;(返回值类型是int)
 2 使用"Length"属性获取字符串的长度
 3 
 4   static void Main(string[] args)
 5         {
 6             string userPwd = "88996677ABE";
 7             int pwdLength = userPwd.Length;
 8             Console.WriteLine($"密码长度{pwdLength}");
 9             Console.ReadKey();
10         }
3. 问题引入
如何判定两个字符串内容相等
解决方法
 1 使用"==""Equals"方法
 2 如果判断两个对象是否相同可以用object的Equals()方法
 3    {
 4         static void Main(string[] args)
 5         {
 6 
 7             string name1 = "xiaowang";
 8             string name2 = "xiaowang";
 9             string name3 = "wang";
10             Console.WriteLine(name1==name2);
11             Console.WriteLine(name1.Equals(name2));
12             Console.WriteLine(object.Equals(name1, name2));
13             Console.WriteLine(name2 ==name3);
14             Console.ReadKey();
15 
16         } 

  4.问题引入

根据用户的邮箱获取"用户名"
解决方法
string Substring(int startIndex,int length);

   static void Main(string[] args)
        {
            string email = "xiaoqiang@qq.com";
            string userName = email.Substring(0, email.IndexOf("@"));
            Console.WriteLine("邮箱用户名:"+userName);
            Console.ReadKey();
          
        }    

 5.问题引入

 1 回顾:使用占位符完成字符串的拼接
 2 
 3 string name="小刘";
 4 Console.WriteLine("我的名字是:"+name+"我的年龄是"+20);
 5 
 6 string name="小刘";
 7 Console.WriteLine("我的名字是{0},我的年龄是{1}",name,20);
 8 
 9 字符串格式化Format()方法与其类似
10 string newString=string.Format("格式字符串",参数列表);
6.Format()方法的格式字符串中各种格式化定义字符
 
1  static void Main(string[] args)
2         {
3             string moneyTotal = string.Format("总金额:{0:C}", 255555);
4             Console.WriteLine(moneyTotal);
5             Console.ReadKey();
6           
7         }
7.字符串为空和null的情况
 1 空字符串的使用方法
 2 if(name=""){}//分配一个长度为空的存储空间
 3 if(name.Equals(string.Empty)){}//不分配存储空间,经常使用
 4 
 5 总结判断字符串是否为空的3种方法
 6 //性能从高到低
 7 name.Length==0
 8 name==string.Empty
 9 name==""
10 
11 注意:null和""的区别
8.其他常用字符串处理方法
 1 Trim()方法:去掉前后多余空格
 2 string name="  xiaowang";
 3 name=name.Trim();
 4 
 5 转换成小写/大写
 6 string ToUpper();//转换成大写
 7 string ToLower();//转换成小写
 8 
 9 找到最后一个匹配项所在的索引(位置)
10 LastIndexOf(string value)

 9.关于字符串的拼接(重点)

 1 static void Main(string[]args])
 2 {
 3     string strText="我正在学习";
 4     strText+=".NET平台";
 5     strText+="与C#开发语言";
 6     Console.WriteLine(strText);
 7 }
 8 每次修改strText,不是追加而是要创建一个新的字符串对象,造成内存浪费
 9 
10 使用StringBuilder类定义可变字符串,实现字符串的追加
11 方法                    说明
12 Append                 在结尾追加
13 Insert                 在指定位置插入指定字符串
14 Remove                 移除指定字符串
15 
16 使用StringBuilder类修改上述代码
17 static void Main(string[] args)
18 {
19     StringBuilder myBuilder=new StringBuilder();
20     myBuilder.Append("我正在学习");
21     myBuilder.Append(".NET平台");
22     myBuilder.Append("与C#开发语言");
23     Console.WriteLine(myBuilder.ToString());
24     Console.ReadLine();
25 }


原文地址:https://www.cnblogs.com/fanjianzhi/p/12827381.html