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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 伪善者。 于 2014-3-13 08:17 编辑

今天做题碰到一个 把字符串中相邻的多个空格合并输出的题目,并且去掉开头和尾部的空格。后者查了下可以用Trim实现 但是前者一直找不到头绪,希望大大们给指点指点

7 个回复

倒序浏览
string str = "   hello,world!  ";
str = str.Trim();
这是最简单的转换,建议楼主先试试
回复 使用道具 举报
本帖最后由 Darkhorse′Xa 于 2014-3-12 23:13 编辑
  1. //思路是这样:
  2.             //1.将有多个空格的字符串以空格进行分割得到空串与非空串
  3.             //2.然后遍历这个数组,判断如果不为空串那么就将非空串+" "连接上
  4.             //3.最后再输出
  5.            string str = "Hello  黑马       程序员";//定义的一个字符串
  6.            string[] strArray = str.Split(' ');//以空格进行分割得到空串与非空串
  7.            string newStr = "";
  8.            for (int i = 0; i < strArray.Length; i++)//遍历整个数组的每个元素判断是否为空串如果不为空则连接非空串+" "
  9.            {
  10.                if (strArray[i] != "")
  11.                {
  12.                    newStr += strArray[i] + " ";
  13.                }
  14.            }
  15.            Console.WriteLine(newStr);
  16.            Console.ReadKey();
复制代码
     写的不好,可以看一下{:2_32:}
回复 使用道具 举报
本帖最后由 百川 于 2014-3-13 00:01 编辑

将楼上的代码加上一个if判断为正解。即将
  1. if (strArray[i] != "")
  2.             {
  3.                     newStr += strArray[i] + " ";
  4.             }
  5.             改为:
  6.             if (strArray[i] != "")
  7.             {
  8.                 if (i = strArray.Length)
  9.                 {
  10.                     newStr += strArray[i];
  11.                 }
  12.                 else
  13.                 {
  14.                     newStr += strArray[i] + " ";
  15.                 }
  16.             }
复制代码
或者在函数执行后执行一次Trim方法

回复 使用道具 举报
Darkhorse′Xa 发表于 2014-3-12 23:09
写的不好,可以看一下

感谢亲的指导我研究下哈
回复 使用道具 举报
百川 发表于 2014-3-12 23:44
将楼上的代码加上一个if判断为正解。即将或者在函数执行后执行一次Trim方法

...

谢谢这位大大哈 把这个问题弄明白我终于可以安心睡觉了
回复 使用道具 举报
戒爱 中级黑马 2014-3-13 01:00:46
7#
本帖最后由 戒爱 于 2014-3-13 01:05 编辑
  1.                 String str = " ab   cde ";
  2.                 str = str.trim();
  3.                 str = str.replaceAll(" +", " ");
  4.                 System.out.println(str);
复制代码
1、去两端空格2、使用正则的替换,将字符串中的一个或多个空替换成一个空
回复 使用道具 举报
Doublekill 发表于 2014-3-12 23:05
string str = "   hello,world!  ";
str = str.Trim();
这是最简单的转换,建议楼主先试试 ...

这个已经做到啦 谢谢亲 。昨天才把Slpit弄会 已经做出来啦
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马