原始字符串是“Hello World”
输出应该是“世界你好”
在c#中实现它的优化方法是什么?
如果我不在的话,请建议我现有的链接
答案 0 :(得分: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 :(得分:1)
我会用句子(它们之间的空格)分割句子:
string[] words = helloString.Split(" ");
helloString = words[1] + " " + words[0];
您可以通过从最后一个元素到第一个元素循环遍历words
来优化此项以处理包含任意数量单词的任何句子。
我已经将新字符串重新分配回helloString(原始字符串),因为我认为这是你想要的基于这个问题。
答案 2 :(得分:0)
试用此代码:
string value = "Hello world";
string firstvalue = value.Split(' ').First();
string secvalue = value.Split(' ').Last();
string value = secvalue + firstvalue;
答案 3 :(得分: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]+" ");
}
答案 4 :(得分:-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