黑马程序员技术交流社区

标题: c#中如果一个字符串中含有多个空格如何只保留一个? [打印本页]

作者: 刘赛    时间: 2013-5-9 16:31
标题: c#中如果一个字符串中含有多个空格如何只保留一个?
本帖最后由 刘赛 于 2013-5-9 20:42 编辑

比如string s="a   b             c";如何只保留一个空格 最终s="a b c";
作者: mosuge7    时间: 2013-5-9 16:55
string s = "a     b    c ";
            do            
            {               
                s = s.Replace("  ", " ");  
            } while (s.Contains("  "));
            Console.WriteLine(s);
            Console.ReadKey();

HHHHHHHHHHH.png (3.47 KB, 下载次数: 0)

HHHHHHHHHHH.png

作者: 刘赛    时间: 2013-5-9 17:22
mosuge7 发表于 2013-5-9 16:55
string s = "a     b    c ";
            do            
            {               

没有结果输出 这是一个死循环
作者: 刘赛    时间: 2013-5-9 17:24
啊 我少打了个空格 不好意思啊
作者: mosuge7    时间: 2013-5-9 17:27
刘赛 发表于 2013-5-9 17:22
没有结果输出 这是一个死循环

有的啊。你试试这种方法:

string s = "a     b      c ";   
s = String.Join(" ", s.Split(new String[] { " " }, StringSplitOptions.RemoveEmptyEntries).ToArray());
Console.WriteLine(s);
作者: 陈晖    时间: 2013-5-9 18:04
先将字符串分割出来,用Split()方法含参数StringSplitOptions.RemoveEmptyEntries,
得到一个字符串数组,再通过Join方法,用一个空格合并即可。:)




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