본문 바로가기
프로그래밍

c# 특정 문자열 이후 자르기

by 도장깨기 2021. 8. 7.
728x90
반응형

오늘은 간단하게 특정 문자열을 포함하여 그 문자열 이후 문자까지 삭제하는 코드를 간단히 적어보도록 하겠습니다.

 

string str = "TEST_TS-JHL";

 

이런 string이 있다고 가정 합시다. 

 

저는 TEST만 출력하여 사용하고 싶다면 "_" 언더바 문자를 포함한 이후 문자만 제거해 주면 사용할 수 있습니다.

다음과 같이 사용할 수 있습니다.

 

string test = str.Substring(0, str.LastIndexOf('_'));

 

위와 같이 사용하면 되는데

String.LastIndex 메서드를 사용하여 지정된 문자의 인덱스 위치를 확인하고

 

위에 예시에서는 str.LastIndexOf('_')

int strIndex = str.LastIndexOf('_');

strIndex => 4 가 되겠죠?

 

 

String.SubString(Int32, Int32) 메서드를 이용해서 

앞에 Int32 파라미터는 시작문자열 인덱스 , 뒤에 Int32는 문자길이기 때문에 

첫 인덱스인 0 그리고 뒤에 파라미터에는 _ 문자열의 인덱스인 4를 길이로 넣으면

인덱스는 0 부터 시작이기때문에 _ 글자의 전 인덱스까지만 포함되기 때문에 

_ 문자 이후 문자열들을 지우고 출력할 수 있습니다. 위에 표현해놨습니다. 이해 되시나요??

이렇게 특정 문자열 이후 자르는것이 가능합니다!

 

 

- 최종 결과

            string str = "TEST_TS-JHL";
            int strIndex = str.LastIndexOf('_');
            string test = str.Substring(0, str.LastIndexOf('_'));
            Console.WriteLine("str => {0}", str);
            Console.WriteLine("strIndex => {0}", strIndex);
            Console.WriteLine("test => {0}", test);

 

 

 

728x90
반응형

댓글