(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));
}