zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    Java中关系操作符==的学习以及与equals的对比
    关于alibaba.fastjson的使用
    给有C或C++基础的Python入门 :Python Crash Course 1
    快速幂基本模板
    断言封装及应用(有难度)
    断言封装之key检查及kv实战示例
    正则取值及断言实战示例
    关联实现下-jsonpath取值(有难度!!耗时长)
    关联实现上-jsonpath取值
    requests顺序执行实现
  • 原文地址:https://www.cnblogs.com/dawn-cn/p/4263904.html
Copyright © 2011-2022 走看看