您的位置:首页 > 编程语言 > C#

c#中去掉字符串空格方法

2013-09-05 20:05 369 查看

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

    }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: