黑马程序员技术交流社区

标题: 去除字符串中的空格 [打印本页]

作者: Kaitong    时间: 2014-4-2 20:04
标题: 去除字符串中的空格
本帖最后由 Kaitong 于 2014-4-3 09:23 编辑

/* 将字符串"  hello      world,你  好 世界   !    " 的两端的空格去掉, 并且将其中的所有其他空格都替换成一个空格,
最终输出结果为:"hello world,你 好 世界 !"。*/
  1. string hello = "  hello      world,你  好 世界   !    ";//原字符串           
  2.             hello = hello.Trim();//去掉两端空格  
复制代码

我就会去掉两端的空格,中间的双重空格怎么换成单空格啊?谢谢
作者: lmm    时间: 2014-4-2 20:25
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace 字符串中多余空格
{
    class Program
    {
        static void Main(string[] args)
        {
            string hello = "  hello      world,你  好 世界   !    ";//原字符串           
            string[] strs = (hello.Trim()).Split(' ');
            List<string> strList = new List<string>();
            foreach (string str in strs)
            {
                if (str!="")
                {
                    strList.Add(str);
                }
            }
            Console.WriteLine(string.Join(" ", strList));
            
            Console.ReadKey();
        }
    }
}



作者: threederek    时间: 2014-4-2 21:31
  1. string he = "  hello      world,你  好 世界   !    ";
  2.             Regex regex = new Regex(@"( )+");
  3.             Console.WriteLine(regex.Replace(he.Trim()," "));
复制代码

作者: yesornoiso    时间: 2014-4-2 22:48
//删除所所给字符中所有的空格
//Replace方法的两个参数支持使用正则表达式
string he = "  hello      world,你  好 世界   !    ";
Console.WriteLine(he.Replace(" ",""));
作者: itheima_xu    时间: 2014-4-2 22:56
可以结合string的Trim()与Replace() 这两个方法,trim就是去除字符串两端的空格但不能去除中间空格。
replace则是用一指定字符串去替代目标字符串中符合条件的部分
作者: 李恒权    时间: 2014-4-3 00:50
本帖最后由 李恒权 于 2014-4-3 00:52 编辑

亲,给你个容易理解的且符合你的要求的。
  1.     string str = "  hello      world,你  好 世界   !    ";
  2.             string str1 = str.Trim();
  3.             //恰到好处的运用标志位
  4.             char fuhao = '@';
  5.             for (int i = 0; i < str1.Length; i++)
  6.             {
  7.                 //运用检索每一个字符
  8.                 char ch = str1.ElementAt(i);
  9.                 if (ch != ' ')
  10.                 {
  11.                     fuhao = '@';
  12.                     Console.Write(ch);
  13.                 }
  14.                 else
  15.                 {
  16.                     if (ch!=fuhao )
  17.                     {
  18.                         Console.Write(ch);
  19.                     }
  20.                     fuhao = ch;
  21.                 }
  22.             }
  23.            Console.ReadKey();
  24.            
复制代码

作者: Kaitong    时间: 2014-4-3 09:23
李恒权 发表于 2014-4-3 00:50
亲,给你个容易理解的且符合你的要求的。

谢谢,我试试




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