C\#.NET 문자열 비교 에서 기 호 를 무시 하 는 방법

예 를 들 어 이런 두 문자열 이 있 습 니 다.

            var a = "a-b=c12";
            var b = "a.b___c12";
좋 습 니 다.어떤 일반적인 방법 을 사용 하 든 그들의 비교 결 과 는 0 이 아 닙 니 다.길이 가 다 르 기 때문에 길이 가 같 지 않 더 라 도 문자 간 의 기호 가 다 르 기 때문에 그들 은 같 을 수 없습니다.어떻게 문자열 비교 에서 기 호 를 무시 합 니까?사실 Compare Options.Ignore Symbols 매 거 진 옵션 은 이 요구 에 도달 할 수 있 습 니 다.Culture Info 의 Compare Info 를 사용 한 다음 Compare Info 의 Compare 방법 으로 두 문자열 을 비교 합 니 다(Compare Options 매 거 진 을 지정 할 수 있 습 니 다).코드:

            var a = "a-bc=12";
            var b = "a.b___c12";

            Console.WriteLine(String.Compare(a, b));

            // InvariantCulture
            Console.WriteLine(CultureInfo.InvariantCulture.CompareInfo.Compare(a, b, CompareOptions.IgnoreSymbols));
            // CultureInfo
            Console.WriteLine(CultureInfo.CurrentCulture.CompareInfo.Compare(a, b, CompareOptions.IgnoreSymbols));
출력:

1
0
0
뒤에 CompareOptions.IgnoreSymbols 방법 으로 0 을 되 돌려 줍 니 다.

좋은 웹페이지 즐겨찾기