A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© czwanglei 金牌黑马   /  2014-3-6 19:20  /  1974 人查看  /  13 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

    在C#中,一段字符串中。例如:“  hell  oworld      ”,怎么去掉前后的空格。

评分

参与人数 2技术分 +1 黑马币 +1 收起 理由
俞帅明 + 1 神马都是浮云
黑马-吕老师 + 1

查看全部评分

13 个回复

正序浏览
如果想去多给字符串中的除中间的空格,先定义个<list><char> l = new <list><char>();列表存储不是空格的字符,可以用个for循环吗,判断如果不是空格就放入数组中l.add(...);最后在遍历列表输出就行了吧

评分

参与人数 1技术分 +1 收起 理由
czwanglei + 1

查看全部评分

回复 使用道具 举报
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);

评分

参与人数 1技术分 +1 收起 理由
czwanglei + 1

查看全部评分

回复 使用道具 举报
Q.z.l 发表于 2014-3-6 20:47
觉得麻烦可以用Split分割了再重新组合

好的,谢谢。
回复 使用道具 举报
czwanglei 发表于 2014-3-6 20:28
假设字符串有好多空格这种方法就不好了。例如;" I  can do it , i will succeed ."假如对这个字符串直接 ...

觉得麻烦可以用Split分割了再重新组合
回复 使用道具 举报
Q.z.l 发表于 2014-3-6 20:19
用int a=IndexOf(' ')搜索空白字符,得到返回值后用string str = Remove(a, 1);返回移除的字符串 ...

假设字符串有好多空格这种方法就不好了。例如;" I  can do it , i will succeed ."假如对这个字符串直接用这种方法,我觉得不是很好。
回复 使用道具 举报

我看的仔细呢,谢谢你解答我的问题。
回复 使用道具 举报

谢谢。我懂了。Split()是字符串的一个方法,可以把一个字符串分解为多个子串, StringSplitOptions.RemoveEmptyEntries 分割的选项,表示移除空元素
回复 使用道具 举报
czwanglei 发表于 2014-3-6 19:56
是的Trim()函数可以去掉前后的,那字符串中间的怎么去掉?(除了根据字母ACII码遍历整个字符串的方法) ...

用int a=IndexOf(' ')搜索空白字符,得到返回值后用string str = Remove(a, 1);返回移除的字符串
回复 使用道具 举报
czwanglei 发表于 2014-3-6 20:10
邂逅相遇,适我愿兮。

:funk::funk::funk:这都被你发现了。
回复 使用道具 举报

邂逅相遇,适我愿兮。
回复 使用道具 举报
  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.             }
复制代码


回复 使用道具 举报 1 0
赵科铭 发表于 2014-3-6 19:46
直接调用Trim()函数就可以去掉前后的空格了。

是的Trim()函数可以去掉前后的,那字符串中间的怎么去掉?(除了根据字母ACII码遍历整个字符串的方法)
回复 使用道具 举报 1 0
  1.             string str = "   hello word   ";
  2.             str=str.Trim();
  3.             Console.Write(str);
复制代码


直接调用Trim()函数就可以去掉前后的空格了。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马