Убедиться, что каждый элемент в массиве строк имеет только один пробел по обе стороны C # - PullRequest
1 голос
/ 31 марта 2012

Я уже разделил строку (которая была Викторией Аделаидой Мэри / Веттин /), но теперь, когда я разделил ее, мне нужно убедиться, что есть ТОЛЬКО ОДИН пробел с каждой стороны каждого элемента в массиве.

                detail = "Victoria Adelaide Mary/Wettin/";
                name = "";
                string[] detailArray = detail.Split('/');

                foreach (string s in detailArray)
                {
                    name += s;
                }

Например, в слове "Wettin" нет пробела с обеих сторон. Что бы вы посоветовали мне сделать?

Спасибо :))

ps. Input -> "Wettin"(который является одним из элементов массива вывода -> «Wettin»

в полном объеме

  • «Victoria» становится «Victoria» (так как это первый элемент массива)
  • «Аделаида» становится «Аделаидой»
  • «Мэри» становится «Мэри»
  • «Веттин» становится «Веттином» (так как это последний элемент массива

Мне нужен пробел в конце первого элемента массива, пробел в начале последнего элемента массива и убедитесь, что каждое слово в середине имеет только ОДИН пробелмежду ними

Ответы [ 2 ]

2 голосов
/ 31 марта 2012

Чтобы получить все имена в отдельных элементах массива, вы можете использовать:

string[] detailArray = detail.Replace('/', ' ').Split(' ');

Чтобы собрать их вместе в name переменную:

        string detail = "Victoria Adelaide Mary/Wettin/";
        string name = "";

        string[] detailArray = detail.Replace('/', ' ').Split(' ');

        foreach (string s in detailArray)
        {
            name += s + " ";
        }
        // trim last space character
        name = name.TrimEnd(' ');
1 голос
/ 31 марта 2012
var name = string.Format(" {0} ", string.Join(" ", detail.Split('/')));

http://msdn.microsoft.com/en-us/library/57a79xd0.aspx - String.Join

(Добавление ниже после вопроса закрыт, так как я думаю, что это немного более эффективно)

string name = string.Format(" {0} ", string.Replace('/', ' '));

...