我有一个字符串可以说,
string temp1 = "25 10 2012"
但我想要这个,
"2012 10 25"
最好的方法是什么。格式永远是这样的。
看来是约会了 您可以使用 DateTime.ParseExact 将字符串解析为 DateTime,然后使用 .ToString 返回格式化结果。
DateTime dt = DateTime.ParseExact(temp1, "dd MM yyyy", CultureInfo.InvariantCulture);
Console.Write(dt.ToString("yyyy MM dd"));
您可以稍后在代码中使用该 DateTime 对象,并应用不同的格式(如果需要)
试试这个拆分字符串和反向数组,这将适用于任何长度的字符串......
string[] myArray = temp1.Split(' ');
Array.Reverse( myArray );
string reverse =string.Join(" ", myArray );
您可以使用 Split 命令然后重新组合子字符串:
String[] subStrs = temp1.Split( ' ' );
String final = subStrs[2] + " " + subStrs[1] + " " + subStrs[0];
所以你想拆分单词并改变顺序,你可以使用LINQ:
var words = temp1.Split(' ');
String newWord = string.Join(" ", words.Reverse());
或者如果您不想交换所有单词,而只想交换第一个和最后一个单词:
String first = words.Last();
String last = words.First();
String newWord = first + " "
+ string.Join(" ", words.Skip(1).Take(words.Length - 2))
+ " " + last;
您可以使用 RegEx 或拆分字符串并以相反的顺序重新加入。
string s = "2012 10 25";
string[] tokens = s.Split(' ');
Array.Reverse(tokens);
string final = string.Join(" ", tokens);
如果您的字符串始终有 10 个字符(带空格),您可以执行以下操作:
string str = "26 10 2012"
str = str.Substring(6, 4) + " " + str.Substring(3, 2) + " " + str.Substring(0, 2)
你可以使用 string.split(" ").reverse().join(" ")。
您可以使用拆分,此功能会将您的字符串拆分为空白数组作为条件,然后反转数组并根据空白重新加入
let string="25 10 2012";
let output=string.split(" ").reverse().join(" ");
console.log(output)