2013-12-14 3 views
0

исходная строка «Hello World»Строка Реверс: реверсивный только положение слова в строки в C#

вывод должен быть «World Hello»

Что оптимизированный способ сделать это в C#?

Пожалуйста, предложите мне любую существующую ссылку, если я не хватает

+2

Что такое текущий подход? –

+0

Я получаю Программу, чтобы завершить String Сторнирование буквой, я не хочу этого делать ... Я могу отправить пример, если вы хотите –

ответ

1

Я бы расколоть предложение словами (пространство между ними):

string[] words = helloString.Split(" "); 
helloString = words[1] + " " + words[0]; 

Вы могли бы оптимизировать эту работу с любым предложением с любое количество слов путем прокрутки по words от последнего элемента до первого.

Я переназначил новую строку обратно на helloString (оригинал), так как я предполагаю, что это то, что вы хотите, основываясь на вопросе.

4
var s = "Hello world"; 
var result = String.Join(" ", s.Split(' ').Reverse())); 

ИЛИ (лучше Раскол ниже, если вы ар не уверены в своих данных)

var s = "Hello world"; 
var result = String.Join(" ", Regex.Split(s, @"\s").Reverse()); 
-1
char[] Delimiter = new char[] { ' ' } 
string[] t = string.split("Hello Wordl", Delimiter) 
int lenS = t.Count; 
string result = ""; 
for(int x =t-1; t > -1; t--) 
{ 
    result += t[x] + " "; 
} 

//Used result now 
+0

Вы уверены в этом '& ='? –

+0

О, извините, что + =, получил взаимозаменяемость с VB.Net – Jade

+0

Это добавило бы лишнего места в конце. –

0

Попробуйте этот код:

string value = "Hello world"; 
    string firstvalue = value.Split(' ').First(); 
    string secvalue = value.Split(' ').Last(); 
    string value = secvalue + firstvalue; 
+1

Это не работает для трех или более слов в предложении. –

+0

Затем используйте условие Foreach для более чем 2 слов –

+0

Затем разведите свой ответ с этой информацией. –

0
static void Main(string[] args) 
    { 
     String str = "Hello World"; 
     String[] strNames = str.Split(' '); 
     for(int i=strNames.Length-1;i>=0;i--) 
     Console.Write(strNames[i]+" "); 
    } 
Смежные вопросы