Подход 1: Один из подходов заключается в использовании замены вместо комбинации «Разделить», «Содержит» и, если это гораздо проще и дешевле.
using System;
using System.Text.RegularExpressions;
public class Program
{
public static void Main()
{
// This is the input string we are replacing parts from.
string input = " WE ARE THE CHAMPIONS MY FRIEND";
// Use Regex.Replace to replace the pattern in the input.
string output = Regex.Replace(input, "\\s+", " ");
// Write the output.
Console.WriteLine(input);
Console.WriteLine(output);
}
}
Подход 2: Чтобы не отставать от исходного вопроса об использовании Split, Contains и if, метод Split принимает 3 параметра.
Параметры:
разделитель: Это символьный массив, который разделяет подстроки в этой строке, пустой массив, не содержащий разделителей, или нуль.
count: Это максимальное количество подстрок, которые нужно вернуть.
параметры: Параметр RemoveEmptyEntries для исключения пустых элементов массива из возвращаемого массива или параметр None для включения пустых элементов массива в возвращаемый массив.
public String[] Split(char[] separator, int count, StringSplitOptions options);
Следовательно после выполнениянеобходимые изменения, ваш окончательный код становится:
using System;
public class Program
{
public static void Main()
{
string input=" WE ARE THE CHAMPIONS MY FRIEND";
String[] spearator = {" "};
String[] input2=input.Split(spearator, 1000, StringSplitOptions.RemoveEmptyEntries);
String result="";
foreach(var item in input2) {
result+=item+" ";
}
Console.WriteLine(result);
}
}