문자열의 4 번째 문자를 기준으로 목록을 정렬하는 간단한 방법이 있습니까? 나는 그들 앞에 코드가있는 국가 목록을 가지고있다. "우리 미국은"내 목록에있는 하나의 문자열이며 전체 국가 이름 앞에 코드 ("미국")를 무시하고 싶습니다.문자열의 n 번째 문자로 목록 정렬 C#
1
A
답변
3
list.Sort((x, y) => x.Substring(3).CompareTo(y.Substring(3)));
0
이 그것을해야 - List<string>
당신이 경우 문자를 낮추기 위해 대문자를 비교하지 않도록 이것은,
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
작동
[List<string>].OrderBy(s => s.Substring(3)).ToList();
변수 원래 목록 (이다 둘 다 가지고있는 경우)
1
다른 답변과 달리이 performi 예 : 은이 아닌 불필요한 부분 문자열을 만듭니다. 대신 비교를 위해 문자열 오프셋을 허용하는 기존의 string.Compare(strA, indexA, strB, indexB, length) 오버로드를 이용합니다.
list.Sort((s1, s2) => string.Compare(s1, 3, s2, 3, int.MaxValue));
는 비교 동작을 조정할하는 데 사용할 수있는 또한, 오프셋 값을 받아 다른 유용한 string.Compare
과부하가 있습니다. (예 : 대소 문자 무시 등)
관련 문제
- 1. 문자열의 n 번째 문자를
- 2. 첫 번째 문자로 문자열 정렬 [C]
- 3. n 번째 요소, n + 1 번째 요소 등을 기준으로 목록 목록 정렬
- 4. 문자열의 n 번째 항목 바꾸기
- 5. MYSQL - 첫 번째 문자로 정렬
- 6. 정수와 문자열의 정렬 목록 Java
- 7. 문자열의 문자를 CSS 크기가 다른 문자로 정렬
- 8. 목록 목록에서 n 번째 목록 가져 오기
- 9. N/S와 같은 특수 문자로 문자열 정렬 N/A
- 10. 문자열의 숫자 뒤에있는 목록 정렬
- 11. 문자열의 첫 번째 문자를 다른 문자열의 문자로 그룹화하십시오.
- 12. 스키마의 첫 번째 요소로 목록 목록 정렬
- 13. 문자열의 내용 정렬 C#
- 14. objective-c : NSMutableString은 \ n 문자로 시작해야합니다.
- 15. C#에서 문자열의 첫 번째 n 줄을 삭제하려면 어떻게해야합니까?
- 16. 문자열에서 부분 문자열의 C++ n 번째 항목 발견
- 17. 메모장에서 문자열의 n 번째 인스턴스 찾기 ++
- 18. 문자열의 모든 n 번째 '\ n'을 바꿉니다.
- 19. Vim 정규식을 n 문자로 바꿉니다.
- 20. C# : 배열 목록 정렬
- 21. 목록 정렬 C#
- 22. C : 알파벳순으로 목록 정렬
- 23. MySQL, 문자로 정수형 정렬
- 24. C# 더블리스트로 문자열 목록 정렬
- 25. C# 문자열의 숫자 그룹을 단일 문자로 바꿉니다.
- 26. 정렬 알고리즘을 사용하여 문자열 목록 정렬 (C#)
- 27. MATLAB에서 벡터의 첫 번째 N 요소 정렬
- 28. 자바 스크립트의 모든 n 번째 요소로 정렬
- 29. 팬더 신참 : dataframe에서 n 번째 행으로 정렬
- 30. C 번째 n 번째 이벤트에서 문자 찾기
+1 문자열 리터럴을 조작하지 않고 기존 비교 연산을 사용합니다. 내가 추가 할 길이 검사는's1'과's2'가 모두 4 자 이상이어야 함을 의미합니다 (잠재적 인 ArgumentOutOfRangeException을 피하기 위해) –
@PhilGref 그리고 문자열이 3 문자보다 짧으면 어떻게해야합니까? ? 이를 무시하거나 사용자 정의 예외를 발생 시키거나 경고 플래그를 설정해야합니까? 알지 못하면 기본 오류 처리를 유지하는 것이 더 나은 옵션이 될 수 있습니다. – AlexD