zoukankan      html  css  js  c++  java
  • 字符串的处理

    1、字符串的定义
         string str="我是一个字符串asdfg";
         string str1=new string(new char[]{'1','一','a'});
         string str2=new string('c',3); // 也就是 "ccc"
       字符串当做数组用,但是这里的数组表示法str[i],是只读的。
       for(int i=0;i<str.length;i++){ Console.WriteLine(str[i]);}
       字符串转换为数值
       char[] chs=str.ToCharArray();
       
      2、字符串的不变性(虽然string是引用类型的)
      string str="1234"; string str1=str ; str="567"; 此时str1还是 "1234"
      
      3、常见字符串属性与方法
         1、比较 str1.Equals(str2) 、==、Compare()(int string.Compare(str1,str2,bool))
         2、转化大小写:str.ToUpper、str.ToLower
         3、修整:  str.Tirm()去掉前后空格,
            str.Tirm(']','[')去掉前后特殊字符
            TrimEnd、TrimStart
         4、合并与分割
            //合并字符串数组
            string[] strs={"姓名1","姓名2","姓名3","姓名4"};
            string str=string.Join("|",strs);//得到一个字符串由|分割
            //切割字符串成数组
            string path=@"c:\Windows\System32\1.dll";
            string[] paths=path.Split('\\');
            
         5、查找:
          IndexOf()、IndexOfAny()、LastIndexOf()
         找出字符串中所以出现"dede"的索引值
         string str=@"D:\Music\dede_专辑\dede_天黑\dede_专辑\dede_\dede_专辑\dede_天黑黑天黑黑黑.mp3";
         int index = -1;
         do
         {
          index = str.IndexOf("dede", index + 1);
          if (index != -1)
          {
          Console.WriteLine(index);
         }
         }
          while (index != -1);
          
         6、子字符串
           1、string str.Substring(index) 从index开始到结束的所有部分
           2、string str.Substring(index, Length);
      
         7、格式化字符串
         string.Format();
         
         走马灯效果
         string str = "我是一个走马灯";
         while (true)
         {
          Console.Clear();
          string head = str[0].ToString();
          string body = str.Substring(1);
          str = body + head;
          Console.WriteLine(str);
          System.Threading.Thread.Sleep(200);
         }
         
         8、字符串的插入、移除和替换
          str.Insert(int index,string str);
          str.Remove(int index,int N);
          str.Replace(string strOld,stringNew)
          
         9、判断开始和结尾
          string path = @"D:\123\456\happy2000.wma";
          if (path.EndsWith(".mp3"))
          
         10、把.csv的逗号分隔符数据文件读取到数组中间
          string[] lines = File.ReadAllLines(@"C:\123.csv",Encoding.Default);
         
     4、字符串拼接用 StringBuilder 效率比s tr+= 高处很多
       StringBuilder sb = new StringBuilder();
                // Append
                // ToString()
                // AppendLine
                // AppentFormat
       
     5、Equals比较
      字符串的比较用Equals与==效果一样
      在自定义类中,可以重新Equals方法,实现指定类型间的比较
            class MyClass
         {
          public int num;

          public override bool Equals(object obj)
         {
         MyClass m = obj as MyClass;
         if (m == null)
         {
          return false;
         }
         return this.num == m.num;
         }

         public static bool Equals(MyClass m1, MyClass m2)
         {
          return m1.num == m2.num;
         }
         }
         
    文件操作中:
       1、读取每一行指定路径的文件
        File.ReadAllLines(string path,Encoding encoding);
        
       2、获取指定目录下指定类型文件的文件名
        string strFilePath=Directory.GetFiles("D:\Data\","*.jpg");
       
       3、获取指定文件路径字符串中的路径
        string dirPath=Path.GetDirectoryName(fileName);
        比如:fileName="d:\data\123.jpg", dirPath="d:\data"

  • 相关阅读:
    多态小结
    Lambda小结
    网络编程小结
    内部类与Lambda
    线程小结
    关于java的静态绑定与动态绑定小结
    多线程
    英语语法十二(可数名词不规则变化)
    英语语法入门十四(名词的作用)
    英语语法入门十三(不可数名词)
  • 原文地址:https://www.cnblogs.com/dedeyi/p/2580074.html
Copyright © 2011-2022 走看看