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}