zoukankan      html  css  js  c++  java
  • C# 字符串操作

    复习索引:    字符串的两个特性 (不可变性)   

    不产生新串的查询操作:

    IsNullOrEmptyContainsIndexOfStartsWith  EndsWithCompareCompareTo  Equals(既是静态方法,也是实例方法))

    会产生新的字符串的方法:

         Format(静态方法)    copy(静态方法)   Trim   CopyTo

         join   Insert   split   Substring   Remove   Replace   PadLeft  PadRight  

    StringBuilde

    000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

    $$字符串的两个特性:

    特性一:不可变性

    字符串是引用类型变量,对其赋值只是改变了变量名指向的字符串对象,要改变它就得将其转换城

    这个对象,就得将其转换成一个字符数组,然后进行编辑

    例:

     char[] ch = str.ToCharArray();

         对数组进行修改

     str = new string(ch);

    特性二:字符串池

    常量字符串被存到字符串池中,可以被重复利用

    $$不产生新串的方法

    IsNullOrEmpty

    bool result= str.Contains(string str);     //查找字符串的子串是否存在

    IndexOf方法 常用的两种形式:       注:如果不能找到字符串,会返回-1

     int n = str.IndexOf(string str);               // 从头开始,出现第一次的下标

     int n = str.IndexOf(string str,int startIndex); // startIndex开始,出现第一次的下标

    bool result = str.StartsWith(string str);          判断字符串str是否以某字符串开始

    bool result = str.EndsWith(string str);            判断字符串str是否以某字符串结束

    ...............................................

    字符串的比较:

    compareCompareTo方法:比较两个字符串在字典里面的顺序,前面的小于后面的,可能返回10-1 

                          

    bool result = string.Compare(str2,str1)   

    bool result = str1.CompareTo(str2)       //CompareTo    :比较两个字符串在字典里面的顺序

           ......................................................

                                     

    bool result = string.Equals(str1,str2)       //equals 既是 静态方法 也是 实例方法  

    bool result = str1.Equals(str2)

    bool result = str1= =str2                     // == equals 的效果是一致的

           ......................................................       

    bool result = str1.ToLower() == str2.ToLower();      //忽略大小写的比较

    $$产生新串的方法:

    String.Format()  让数据按照自己指定的格式输出

    string stra = "学会c#24堂课";      string strb = "经典图书";     string strc = "c#入门经典";

    string newstr = string.Format("{0}+{1}+{2}***",stra,strb,strc);             //string.Format()  方法得到一个 string 类型值

                                        

    str = str.ToUpper();        将字符串中的字符都转换成大写

    str = str.ToLower();                     转换成小写

    str.Trim()        // 移除首尾的空格,当括号里面不传参数的时候,默认去空格字符

    str.TrimStart();  / str.TrimEnd();      // 移除开头的字符    移除结尾的字符

    string str.Trim(char[] ch);          //移除首尾的指定字符,可添加一个char数组作为参数

    Copy

    string str3 = string.Copy(str);          //copy    str复制后赋值给str3

    CopyTo:

    string dest = "Hello world";

    string source = "Goodbye China";

    char[] destArray = dest.ToCharArray();      //dest变成字符数组

    source.CopyTo(8, destArray, 6, 5);          //source的第8个字符起复制5个字符并从destArray的第6个位置开始放

    dest = new string(destArray);              //这时dest"Hello China"

    字符串的合并与分割

     join 合并:

      str=str.jion(str,strArr);         //将数组strArr中的内容拼接成一个字符串,并在对应数组的每两项间添加分隔符str

    ..............................................................

    Insert 插入

    string str3 = stra.Insert(index, str);              //从索引为 index 的位置插入字符串 str

    ....................................................

    split 分割:

    string[] atrArray= str.Split(params char[] separator); 

    //将字符串strseparator数组中的字符分割,分割后得到的内容存到一个数组中

       

    string[] words = str.Split(new char[]{' ',',','?'},StringSplitOptions.RemoveEmptyEntries);  

    //加上参数   StringSplitOptions.RemoveEmptyEntries,可以去掉空格

     .................................................................

    Substring 截取

    string stra = "学通c#24堂课";

    string strb = stra.Substring(0,4);   //第一个参数表示开始位置,第二个表示子串长度

    string strc = stra.Substring(4);     //当只有一个参数时,表示从当期位置开始,一直到结束

    Remove 删除字符

    string str1 = str.Remove(4);    //当只有一个参数时,意思为:删除之后的所有字符

    string str2 = str.Remove(2,3);   //当有两个参数时,第一个参数表示开始位置,第二个表示删除子串长度

    Replace 替换字符串

    string str6 = str4.Replace("胡章诚","key");

    PadLeft  PadRight 填充

    string stra = "12345";

    string str4 = stra.PadLeft(6, '(');

    string str5 = str4.PadRight(7, ')');

    左填充从右开始计数,右填充从左开始计数,如果该位置本身有字符,则不填充,无字符就填充

  • 相关阅读:
    使用VC++生成调试信息
    在Xp home上安装Rose 2003
    SkyDrive注册方法
    vsftpd同时使用系统用户和虚拟用户验证
    如何查看linux系统版本
    在RedHat AS中安装SVN
    Vnc & Gdm
    (转)如何:在设备上安装 SQL Server Compact 3.5
    java培训学习笔记一
    因为此版本的应用程序不支持其项目类型(.csproj),若要打开它,请使用支持此类型项
  • 原文地址:https://www.cnblogs.com/key1309/p/3154519.html
Copyright © 2011-2022 走看看