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}