是否有簡單的方法來基於字符串的第4個字符對列表進行排序?我有一個代碼在他們面前的國家名單; 「我們美國」是我的名單中的一個字符串,我想在全名之前忽略代碼(「我們」)。按字符串的第n個字符排序列表c#
1
A
回答
3
list.Sort((x, y) => x.Substring(3).CompareTo(y.Substring(3)));
0
這應該做到這一點 - List<string>
是你原來的列表變量
[List<string>].OrderBy(s => s.Substring(3)).ToList();
這工作
var l = new List<string>(){"us unites states","uk united kingdom","ca canada"};
foreach (var s in l.OrderBy(s => s.ToLower().Substring(3)).ToList())
Console.WriteLine(s);
注意ToLower
,所以你不比較大寫小寫字母(如果你有兩個)
1
不像其他答案,這種執行方式將不會創建不必要的子字符串。相反,它利用現有的string.Compare(strA, indexA, strB, indexB, length)過載來接受字符串偏移量進行比較。
list.Sort((s1, s2) => string.Compare(s1, 3, s2, 3, int.MaxValue));
還有其他有用string.Compare
過載,也接受偏移值,你可以用它來調整的比較行爲。 (例如:忽略大小寫等)
相關問題
- 1. 按字典順序排列的第k個字符串中的最小字符
- 2. 按組件列表排序字符串
- 3. C#排序Arraylist字符串按字母順序排列
- 4. 排序字符串列表
- 5. 排序字符串列表
- 6. Xquery按字符的第N個出現拆分字符串
- 7. 按字母順序排序字符串和Python中的字符串列表
- 8. 在字符串列表中插入每個第n個元素的字符串
- 9. SQL Server:按第一個字符排序,然後再排序字符串
- 10. 字符串中的第N個字
- 11. 排序字符的C + +字符串
- 12. 字符串按字符數排序
- 13. c#字符串列表>按正則表達式排序?
- 14. 按字典順序排列的字符串列表
- 15. 第n個最長的字符串排序
- 16. R:在第n個字符後按字母順序排列矢量
- 17. 計算字母排列的第n個6個字符
- 18. C#排列字符串n =((n - 1)+(n - 2))
- 19. Matlab,根據第一個字符串排序字符串
- 20. n個列表字符串的組合
- 21. 排序第二個元素的嵌套字符串列表(python)
- 22. 排序一個2d字符串數組按字母順序排列在c
- 23. 按日期排序listBox字符串c#
- 24. C++ STL按int和字符串排序
- 25. 第n個字符
- 26. 按字符串排序ObservableCollection
- 27. 按字符串排序?
- 28. mySQL按字符串排序
- 29. SQL按字符串排序
- 30. 如何按第二個字符排序?
+ 1用於使用現有的比較操作而不操縱字符串文字。我要添加的是一個長度檢查,以確保s1和s2的長度都至少爲4個字符(以避免潛在的ArgumentOutOfRangeException) –
@PhilGref如果字符串短於3個字符應該怎麼辦?它應該被忽略,還是導致引發自定義異常,或設置警告標誌?不知道它,保持默認的錯誤處理可能是一個更好的選擇。 – AlexD