从输入中删除多余空格并显示正确间隔输出的程序

时间:2018-06-13 21:40:20

标签: c#

编写一个删除字符串中所有双重空格的程序。它应该从控制台读取一个字符串并将其存储在变量输入中。您应该使用var声明输入。注意只考虑双倍空间,我们不关注这个任务中的三倍空间和更多空间。 例如,如果输入为I love computer science

输出应该是     I love computer science

这是我到目前为止所做的:

using System;

namespace LearningVar
{
    class DoubleSpaces
    {
        static void Main(string[] args)
        {
            var input = Console.ReadLine();
            for (var i = 0; i < input.Length; ++i){
                if (input[i] != ' ')
                Console.Write(input[i]);
            }
        }
    }
}

我无法正确地将这些文字传达给太空。拜托,谢谢!

1 个答案:

答案 0 :(得分:1)

你能使用正则表达式吗?

string spaces = "i do    not ";
string singleSpace = Regex.Replace(spaces.Trim(), @"\s+", " ");
Debug.WriteLine(singleSpace);

singleSpace = string.Join(" ", spaces.Split(new char[] {' '}), StringSplitOptions.RemoveEmptyEntries);

或者

while (spaces.Contains("  "))
    spaces = spaces.Replace("  ", " ");