私は文字列を言ってみましょう、
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 );
単語を分割して順序を変更したい場合は、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;
Split コマンドを使用してそれを実行し、サブ文字列を再結合できます。
String[] subStrs = temp1.Split( ' ' );
String final = subStrs[2] + " " + subStrs[1] + " " + subStrs[0];
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)