首页 > 代码库 > .Net的String类与StringBuilder类操作

.Net的String类与StringBuilder类操作

    关于.NET提供了许多可以直接使用的类代码,常用的包括Convert类、String类和StringBuilder类、DateTimel类和TimeSpan类、Math类等等。

    其中Convert类提供的方法都是静态方法,主要用于数据类型的转换:

        例如:

                    字符串数据类型  -----> 整形

                        string str ="123";

                        int Getstr = Convert.Int32(str);

        但要注意类型转换的取值范围。

    当然DateTime类和TimeSpan类是针对时间这一方面的,比较简单;Math类是针对数学函数方法的调用,在这里我就不一一介绍了。


    下面小哥带领读者介绍String类和StringBuilder类:

String 类 --------- 提供静态方法与非静态方法

    字符串是.NET中的一种重要的数据类型,在项目开发中,离不开字符串的操作,.NET提供了String类实现字符串操作;与Convert类相似,String类中的方法有静态方法非静态方法
      静态方法
        (1)字符串比较 - string.Compare(str1,str2)
                注:str1>str2 则 return 1;

                    str1=str2 则 return 0;
                    str1<str2 则 return -1;

            例子: string str1 = "test";
                   string str2 = "t";
                    Console.Writeline(String.Compare(str1,str2));
             输出:1
        (2)字符串复制 - string.Copy(str)
             例子: string str1 = "test";

                   string str2 = String.Copy(str1);
                    Console.WriteLine(str2);
            输出:test
        (3) 字符串判等 - string.Equals(str1,str2)
                注:str1=str2 则 return true;
                    str1<>str2 则 return false;
            例子: string str1 ="test";
                   string str2 = "hello";
                    Console.WriteLine(String.Equals(str1,str2));
            输出:-1
        (4) 字符串合并 - string.Join(separator,arr)
                注:separator为字符串,arr为字符串数组

            例子:string[] a = {"hello","world"};
                 Console.WriteLine(string.Join(",",a))
            输出:hello world

    非静态方法
        (1)字符串比较 - 对象名.CompareTo(string str)
            例子:string str1 = "test";

                  string str2 = "hello";
                   Console.WriteLine(str1.CompareTo(str2));
            输出:1
        (2) 判断是否包含给定的子串 - 对象名.Contains(str)
            例子:string str1 = "hello world";
                  striing str2 = "hello";
                   Console.WriteLine(str1.Contains(str2));
            输出:true
        (3) 查找给定子串位置 - 对象名.IndexOf(str)
            例子:string str1 = "hello world";
                  string str2 = "world";
                   Console.WriteLine(str1.IndexOf(str2));
            输出:6
         
            也可以指定在字符串对象中查找子串的起始位置
                    Console.WriteLine(str1.IndexOf(str2,7));
            输出:-1
        (4) 查找字符串是否包含给定字符数组中的字符 - 对象名.IndexOfAny(arey)
                注:arr为字符数组
            例子:string str1 = "hello world";
                  string[] s = {‘a‘,‘b‘,‘c‘,‘d‘};
                    Console.WriteLine(str1.IndexOfAny(s));
            输出:10
        (5) 插入子串 - 对象名.Insert(startindex)
                注:startindex为整形值,str为字符串
            例子:string str1 = "hello world";
                  Console.WriteLine(str1.Insert(1,"test"));
            输出:htesthllo world
        (6) 删除子串 - 对象名.Remove(startindex)/Remove(startindex,count)
                注:startindex为整形值
            例子:string str1 = "hello world";
                  Console.WriteLine(str1.Remove(6));
            输出:hello
            
                  Console.WriteLine(str1.Remove(0,6));
            输出:world
        (7) 替换子串 - 对象名.Replace(substr1,substr2)/Replace(char1,char2)
                注:substr1,substr2为字符串
                     将字符串中的所有子串substr1 替换 substr2
                    char1,char2为字符
                     将字符串中的所有字符char1替换为字符char2
            例子:string str1 = "hello world";
                  Console.WriteLIne(str1.Replace("world","China"));
            输出:hello China
                
                  string str2 = "Like";
                   Console.WriteLine(str2.Replace(‘L‘,‘N‘));
            输出:Nike
        (8)拆分字符串 - 对象名.Split(chararr)
                注:chararr为辅助数组
            例子: string str1 = "3.14,6 17";
                   char[] c = {‘.‘,‘,‘,‘ ‘};
                    string[] arr = str1.Split(c);
                     foreach(string str in arr)
                        Console.WriteLine(str);
            输出:3
                 14
                 6
                 17
        (9)去空格 - 对象名.Trim()/TrimEnd()/TrimStart()
                注:Trim()去掉字符串首尾的空格,字符串中间的空格不受影响
                    TrimEnd()去掉字符串尾部的空格
                    TrimStart()去掉字符串首部的空格
       
StringBuilder类 -------  在原有字符串的内存空间上进行操作,将多个字符串连接在一块,使用StringBulder类可以提升性能
    
    例如:
         StringBuilder str1 = new StringBuilder("hello");
         str1.Append(" ");
         str1.Append("wrold");
         str1.Append("!");
            Console.WriteLine(str1);
    输出:hello world!


以上是本人第一次写博文,挺激动的,如写得不好请敬请原谅;希望这篇文章对初学.NET的同学会有一定的帮助,毕竟是基础的知识,望见呐。

本文出自 “12067158” 博客,请务必保留此出处http://12077158.blog.51cto.com/12067158/1867149

.Net的String类与StringBuilder类操作