我的預訂程式中有一個包含多個 ID 的大字串,用于概覽目的。
string example = "ID01-20/05-Table1\n ID02-04/06-Table2\n ID03-21/05-Table1\n"
這只是一個示例,但隨著保留被洗掉或添加,字串可能會增長或縮小。
目前,概覽是根據 ID 排序的,但是否也可以使用日期或表格?
所以它認為:
string example = "ID01-20/05-Table1\n ID03-21/05-Table1\n ID02-04/06-Table2\n"
如果可能的話最好使用 Console.Display(); 但我也不介意使用某些東西來生成臨時字串/串列/陣列/任何東西并以這種方式顯示。
我在靜態字串上看到過它,但我不太確定它在添加和洗掉 ID 時會如何作業。
uj5u.com熱心網友回復:
您可以將初始字串拆分為塊
.Split('\n')
借助正則運算式匹配每個塊中的日期部分:
// one or two digits followed by slash and then one or two digits
Regex.Match(item, "[0-9]{1,2}/[0-9]{1,2}").Value
將其決議為日期
DateTime.TryParseExact(
...
"d/M", // day / Month format
null,
DateTimeStyles.AssumeLocal,
out var date)
然后訂購它。
代碼:
using System.Linq;
using System.Text.RegularExpressions;
...
string example = "ID01-20/05-Table1\n ID02-04/06-Table2\n ID03-21/05-Table1\n";
string result = string.Join("\n", example
.Split('\n')
.OrderBy(item => DateTime.TryParseExact(
Regex.Match(item, "[0-9]{1,2}/[0-9]{1,2}").Value,
"d/M",
null,
DateTimeStyles.AssumeLocal,
out var date)
? date
: DateTime.MaxValue));
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/480215.html
上一篇:UnityARAnimation不會轉換為GameObject
下一篇:VisualStudio2022->嘗試安裝Microsoft.DataTools.AnalysisServices.vsix失敗并出現用戶和服務錯誤