C#操作字符串总结

时间:2023-01-08 00:02:02

                                  C#操作字符串总结

string stringMessage = string.Empty;
stringMessage .ToLower()转化成小写字母
stringMessage .ToUpper()转化成大写字母
stringMessage .Trim()删除前后空格
stringMessage .Trim(trimChars)删除其它字符
stringMessage .TrimStart()删除前空格
stringMessage .TrimEnd()删除后空格
stringMessage .PadLeft(10)增加左边空格,使字串达到某长度。
stringMessage .PadRight(10)增加右边空格,使字串达到某长度。
stringMessage .PadX(10,'-')增加其它字符,使字串达到某长度。X指:Left/Right
string [] messages = stringMessage .Split('')将字符串按照某个特定的字符分解成数组

这里Split()方法比较常用,例如:
string testString = "aaa,bbb,ccc,ddd";
string [] testMessages = testString.Split(',');
testMessages [0] = "aaa";
testMessages [1] = "bbb";
testMessages [2] = "ccc";
testMessages [3] = "ddd";

字符串查找:
使用Indexof(),LastIndexof()两个方法来确定子串的index,然后来截取。

我们还可以实现IFormattable接口来定义我们自己的字符串格式类。
public class MyFormatClass:IFormattable
    {
        public double x,y,z;
        public Vector(double dx,double dy,double dz)
        {
            x=dx;
            y=dy;
            z=dz;
        }
        public string ToString(string format,IFormatProvider formatProvider)
        {
            if(format==null)
                return ToString();
            string formatUpper=format.ToUpper();
            switch(formatUpper)
            {
                case "N":
                    return "||"+Norm().ToString()+"||";
                case "VE":
                    return String.Format("({0:E},{1:E},{2:E})",x,y,z);
                case "IJK":
                    StringBuilder sb=new StringBuilder(x.ToString(),30);
                    sb.Append("i+");
                    sb.Append(y.ToString());
                    sb.Append("j+");
                    sb.Append(z.ToString());
                    sb.Append("k");
                    return sb.ToString();
                default:
                    return ToString();
            }
               
        }
        public override string ToString()
        {
            return "("+x+","+y+","+z+")";
        }
        public double Norm()
        {
            return x*x+y*y+z*z;
        }
    }

使用正则表达式来控制字符串格式几个常用的正则表达式:

Internet地址表达式:http://([/w-]+/.)+[/w-]+(/[/w- ./?%&=]*)?
Email地址表达式:/w+([-+.]/w+)*@/w+([-.]/w+)*/./w+([-.]/w+)*
邮编:/d{6}
电话号码:(/(/d{3}/)|/d{3}-)?/d{8}