Development Tip

Regex.Replace를 사용하여 문자열에서 숫자를 제거하는 방법은 무엇입니까?

yourdevel 2021. 1. 10. 19:38
반응형

Regex.Replace를 사용하여 문자열에서 숫자를 제거하는 방법은 무엇입니까?


Regex.Replace문자열에서 모든 숫자와 기호를 제거하는 데 사용해야 합니다.

입력 예 : 123- abcd33
출력 예 :abcd


다음을 시도하십시오.

var output = Regex.Replace(input, @"[\d-]", string.Empty);

\d식별자는 단순히 어떤 자리의 문자와 일치합니다.


정규식 대신 LINQ와 같은 솔루션으로 수행 할 수 있습니다.

string input = "123- abcd33";
string chars = new String(input.Where(c => c != '-' && (c < '0' || c > '9')).ToArray());

빠른 성능 테스트는 정규 표현식을 사용하는 것보다 약 5 배 빠르다는 것을 보여줍니다.


var result = Regex.Replace("123- abcd33", @"[0-9\-]", string.Empty);

문자열 확장으로 :

    public static string RemoveIntegers(this string input)
    {
        return Regex.Replace(input, @"[\d-]", string.Empty);
    }

용법:

"My text 1232".RemoveIntegers(); // RETURNS "My text "

최고의 디자인은 다음과 같습니다.

public static string RemoveIntegers(this string input)
    {
        return Regex.Replace(input, @"[\d-]", string.Empty);
    }

참조 URL : https://stackoverflow.com/questions/1657282/how-to-remove-numbers-from-string-using-regex-replace

반응형