C # - реорганизовать строку текста - PullRequest
0 голосов
/ 11 сентября 2011

У меня есть строка текста: AB CD EF GH
Я хочу инвертировать текст, чтобы он выглядел так: GH EF CD AB

Итак, AB CD EF GH станет GH EFCD AB

Ответы [ 4 ]

5 голосов
/ 11 сентября 2011

Что ж, если это только пробелы, разделяющие части, вы можете сделать это довольно легко:

string reversed = string.Join(" ", text.Split(' ').Reverse());

В .NET 3.5 вам потребуется дополнительный вызов ToArray из-за строки.те же перегрузки в .NET 4:

string reversed = string.Join(" ", text.Split(' ').Reverse().ToArray());

Это можно сделать более эффективно, используя Array.Reverse для обратного разбиения массива на месте:

string[] parts = text.Split(' ');
Array.Reverse(parts);
string reversed = string.Join(" ", parts);

... но неразница будет значительна или нет более сомнительна:)

2 голосов
/ 11 сентября 2011
String.Join(" ",("AB CD EF GH".Split(' ').Reverse()))

В основном: разбейте входную строку на пробел, чтобы у вас был массив «AB», «CD», «EF» и «GH». Затем переверните этот массив и снова соедините части массива в виде строки, используя символ пробела в качестве клея.

0 голосов
/ 11 сентября 2011

Разделите его на массив, переверните массив и присоедините его:

string.Join(" ", "AB CD EF GH".Split(' ').Reverse().ToArray());
0 голосов
/ 11 сентября 2011

Одним из способов является разбиение на массив строк (посмотрите на string.Split), используйте Array.Reverse

http://msdn.microsoft.com/en-us/library/d3877932.aspx

, затем снова объедините полученную строку с пробелами (строка.join).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...