C# 字符串处理

  C#编程中,对字符串的处理措施非常多,比如去除字符串两端的空格 【trim】、去除字符串两端的字符'0',给字符串用某个字符补齐一定长度【padleft,padright】等等。

   由于这段时间项目上用的比较多,基于此,把对字符串中的一些常用的东西总结一下。

   用 str 代表一个字符串。

   1.字符串的长度

        str.Length;    

   2.获取字符串中的每个字符:

       这里有必要说到一个函数,刚看到的,挺兴奋的,ToCharArray(),功能下面说。

       string类型变量可以看成是char变量的只读数组,所以可

        以通过ToCharArray()获取每个字符放到一个字符数组中,下面举个小例子: string str="I am a student";
                       char[] myChar = str.ToCharArray();

  3.字符串中字符的大小写转换:

     str.ToLower(); str.ToUpper() 。

   4.字符串中去空格等

    str.Trim();取出字符串的所有前导和尾部的所有空格(不包括中间的)。也可以删除其他字符,只要在一个char数组中指定这些字符即可。举个小例子吧。

   

1       string str="   I am A student ";
2       char[] TrimChars={' ','t','I'};
3       str = str.Trim(TrimChars);
4       Console.WriteLine(str);       

    输出:am A studen

    Trim()只能去除字符串首尾所有制定的字符。

    TrimStart(),  TrimEnd(),类似于Trim()。

   下面说两个可以添加空格的方法,str.PadLeft();str.PadRight(),有两个重载的方法。

    str.PadLeft(20),指定新字符串的长度为20,str.PadLeft(20,'#'),除了指定长度,位数不够时用'#'补。这两个方法用于对齐字符串。

  5.字符串比较大小:

  string.Compare(str1, str2);

   这个不是比较长度,返回值有三个,str1>str2,结果为1;< 结果为-1;= 结果为0。"stu">" stu"。若是只比较两个字符串是否相等,用str1.Equals(str2),返回true和false。

  6.查找一个字符串中是否包含指定的字符串。

  public bool Contains(string str1); 例:if(str.Contains("abc")){  .....   }

 

  7.求某个字符或子串在字符串中出现的位置。

  

1   string str="student";
2
3    str.IndexOf("tu"); 
str.IndexOf("t");
str.IndexOf('t');

   返回值都是1。

   另一种重载方式:public int IndexOf(string str,int startIndex);

   这两种方法若没查找到,返回值是-1.

   LastIndexOf()用法与IndexOf()相同,只是查找方向相反,但是还是从前面算起。

   如:int i= str.LastIndexOf('n'); i的值为5。

  8.截取字符串:

    两种重载方式

      1、str.Substring(3);一个参数表示从下标为3的字符开始截取到最后。

      2、str.Substring(1,3);两个参数表示从下标为2的字符开始,截取长度为3的子串。

   9.字符串的插入,删除,替换。

     插入:public string Insert(int startIndex,string value); 只有这一种重载方式。

     删除:public string Remove(int startIndex); 删除从startIndex到结尾的字符。

             public string Remove(int startIndex,int count);删除从startIndex开始长度为count的字符。

     替换:public string Replace(string oldString,string newString);

              public string Replace(char oldChar, char newChar);

  10.字符串的合并,这个用的不多。

     

1  string[] arr={"I","am","a","student"};
2  Console.WriteLine(string.Join("@", arr));

 

  输出:I@am@a@student

  11.Split()方法。这个用的也很多。

     public string[] Split(char[] separator);

     1、用字符串分隔: 
      
1 using System.Text.RegularExpressions;
2 string str="aaajsbbbjsccc";
3 string[] sArray=Regex.Split(str,"js",RegexOptions.IgnoreCase);
4 foreach (string i in sArray) Response.Write(i.ToString() + "<br>");

    输出结果:
    aaa
    bbb
    ccc

   2、用多个字符来分隔:

1 string str="aaajbbbscccjdddseee"; 
2 string[] sArray=str.Split(new char[2] {'j','s'}); 
3 foreach(string i in sArray) Response.Write(i.ToString() + "<br>"); 
    输出结果:
    aaa
    bbb
    ccc
    ddd
    eee
 3、用单个字符来分隔:
1 string str="aaajbbbjccc";
2 string[] sArray=str.Split('j');
3 foreach(string i in sArray) Response.Write(i.ToString() + "<br>");
  输出结果: 
   aaa
   bbb
   ccc
posted @ 2015-01-31 12:45  _Dawn  阅读(315)  评论(0编辑  收藏  举报