(1)Trim方法
string tt=" aaa ";
tt=tt.Trim() 去字串首尾空格的函數
tt=tt.TrimEnd() 去掉字串尾空格
tt=tt.TrimStart() 去掉字串首空格
(2)通過ASCII碼值去掉字元中的空格
由於空格的ASCII碼值是32,因此,在去掉字串中所有的空格時,只需逐一查看字串中的所有字元,並判斷它們的ASCII碼值是不是32即可。去掉字串中所有空格的關鍵代碼如下:
CharEnumerator CEnumerator = textBox1.Text.GetEnumerator();
while (CEnumerator.MoveNext())
{
byte[] array = new byte[1];
array = System.Text.Encoding.ASCII.GetBytes(CEnumerator.Current.ToString());
int asciicode = (short)(array[0]);
if (asciicode != 32)
{
textBox2.Text += CEnumerator.Current.ToString();
}
}
這裡的3種方法只能去除半形空格,不能去除全形空格。
(3)Replace方法
使用字串內建的Replace方法:str.Replace(" ","")------------- str是輸入或要檢測的字串。
#的Replace函數,有關它的參數需要注意:
如果它的參數是一個運算式,系統會先計算運算式做預先處理,再執行替換操作。
比如(GetNameByID為一個函數):
String strSource="這是一個樣本";
strSource=strSource.Replace("姓名",GetNameByID(1));
很顯然,strSource是不包含“姓名”的,所以也不會執行任何替換。但是,每執行一次這行替換代碼,GetNameByID都會被調用一次。如果GetNameByID是更複雜的邏輯,或者是替換操作在一個迴圈中,將會極大地影響系統效率。
建議修改為:
if(strSource.IndexOf("姓名")>-1)
{
strSource=strSource.Replace("姓名",GetNameByID(1));
}