C#中删除字符串中空格

(1)Trim方法


C#中Trim()、TrimStart()、TrimEnd()的用法:

    这三个方法用于删除字符串头尾出现的某些字符。Trim()删除字符串头部及尾部出现的空格,删除的过程为从外到内,直到碰到一个非空格的字符为止,所以不管前后有多少个连续的空格都会被删除掉。TrimStart()只删除字符串的头部的空格。TrimEnd()只删除字符串尾部的空格。

      如果这三个函数带上字符型数组的参数,则是删除字符型数组中出现的任意字符。如Trim("abcd".ToCharArray())就是删除字符串头部及尾部出现的a或b或c或d字符,删除的过程直到碰到一个既不是a也不是b也不是c也不是d的字符才结束。
      这里最容易引起的误会就是以为删除的是"abcd"字符串。如下例:
          string s = " from dual union all ";
          s = s.Trim().TrimEnd("union all".ToCharArray());
      可能有人以为上面s的最终结果是"from dual",但真正的结果是"from d"。需要注意的是这种写法执行的删除对象是字符数组中出现的任意字符,而不是这些字符连在一起组成的字符串! 


一般TRIM函数用法: 

  Trim()   功能删除字符串首部和尾部的空格。   语法Trim ( string )   参数string:string类型,指定要删除首部和尾部空格的字符串返回值String。函数执行成功时返回删除了string字符串首部和尾部空格的字符串,发生错误时返回空字符串("")。如果任何参数的值为NULL,Trim()函数返回NULL。   ======================================================================== 


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

    }


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值