黑马程序员技术交流社区

标题: 怎么去掉空格 [打印本页]

作者: czwanglei    时间: 2014-3-6 19:20
标题: 怎么去掉空格
    在C#中,一段字符串中。例如:“  hell  oworld      ”,怎么去掉前后的空格。

作者: 赵科铭    时间: 2014-3-6 19:46
  1.             string str = "   hello word   ";
  2.             str=str.Trim();
  3.             Console.Write(str);
复制代码


直接调用Trim()函数就可以去掉前后的空格了。
作者: czwanglei    时间: 2014-3-6 19:56
赵科铭 发表于 2014-3-6 19:46
直接调用Trim()函数就可以去掉前后的空格了。

是的Trim()函数可以去掉前后的,那字符串中间的怎么去掉?(除了根据字母ACII码遍历整个字符串的方法)
作者: 流失的温度0    时间: 2014-3-6 20:06
  1. string str = "   hell  oworld";
  2.             string[] strTemp = str.Split(new char[]{' '},StringSplitOptions.RemoveEmptyEntries);
  3.             string s1 = string.Empty;
  4.             foreach (string s in strTemp)
  5.             {
  6.                 s1+=s;
  7.             }
复制代码



作者: czwanglei    时间: 2014-3-6 20:10
流失的温度0 发表于 2014-3-6 20:06

邂逅相遇,适我愿兮。
作者: 流失的温度0    时间: 2014-3-6 20:12
czwanglei 发表于 2014-3-6 20:10
邂逅相遇,适我愿兮。

:funk::funk::funk:这都被你发现了。
作者: Q.z.l    时间: 2014-3-6 20:19
czwanglei 发表于 2014-3-6 19:56
是的Trim()函数可以去掉前后的,那字符串中间的怎么去掉?(除了根据字母ACII码遍历整个字符串的方法) ...

用int a=IndexOf(' ')搜索空白字符,得到返回值后用string str = Remove(a, 1);返回移除的字符串
作者: czwanglei    时间: 2014-3-6 20:22
流失的温度0 发表于 2014-3-6 20:06

谢谢。我懂了。Split()是字符串的一个方法,可以把一个字符串分解为多个子串, StringSplitOptions.RemoveEmptyEntries 分割的选项,表示移除空元素
作者: czwanglei    时间: 2014-3-6 20:25
流失的温度0 发表于 2014-3-6 20:12
这都被你发现了。

我看的仔细呢,谢谢你解答我的问题。
作者: czwanglei    时间: 2014-3-6 20:28
Q.z.l 发表于 2014-3-6 20:19
用int a=IndexOf(' ')搜索空白字符,得到返回值后用string str = Remove(a, 1);返回移除的字符串 ...

假设字符串有好多空格这种方法就不好了。例如;" I  can do it , i will succeed ."假如对这个字符串直接用这种方法,我觉得不是很好。
作者: Q.z.l    时间: 2014-3-6 20:47
czwanglei 发表于 2014-3-6 20:28
假设字符串有好多空格这种方法就不好了。例如;" I  can do it , i will succeed ."假如对这个字符串直接 ...

觉得麻烦可以用Split分割了再重新组合
作者: czwanglei    时间: 2014-3-7 09:51
Q.z.l 发表于 2014-3-6 20:47
觉得麻烦可以用Split分割了再重新组合

好的,谢谢。
作者: 永远的小飞侠    时间: 2014-3-8 11:32
Q.z.l 发表于 2014-3-6 20:47
觉得麻烦可以用Split分割了再重新组合

先用Spilt方法分割:
   String str="he  ll  0  w or  ld";
   String[] strs= str.Spilt(" ",str);//用" "(一个空格)分割
在用Join合并
   str=String.Join("",strs);//用""(空字符串)连接
   Console.WriteLine(str);

作者: 朝花夕拾_黑马    时间: 2014-3-12 10:03
如果想去多给字符串中的除中间的空格,先定义个<list><char> l = new <list><char>();列表存储不是空格的字符,可以用个for循环吗,判断如果不是空格就放入数组中l.add(...);最后在遍历列表输出就行了吧




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2