C#에서 문자열 처리하는 방법에 대해 확인해보겠습니다.

 

split : 문자열을 특정 문자를 기준으로 잘라서 arr형태로 만들어 줌

substring : 문자열 처리방법 중 가장 많이 쓰는 것 중 하나로 원하는 문자열만 뽑아 낼 수 있음

 

Split


먼저 split함수를 확인해보겠습니다.

문자열를 저장한변수.split('') 형태로 사용하며, split함수의 파라미터로는 char형태로 전달해야 합니다.

 

            string nameList = "손흥민,이강인,이청용";

            string[] arr = nameList.Split(','); //char 형태로 정의해주어야함

            foreach (var a in arr)
            {
                Console.WriteLine(a);
            }

 

 

아래와 같이 , 가 특정 주기로 반복될 때 ,를 기준으로 잘라서 array로 저장할 수 있습니다.

DB에 특정 문자로 구분된 string으로 한 칼럼에 저장을 하고 

SELECT 후 프로그램 소스에서는 split을 통해 하나의 칼럼 조회로 여러개의 데이터를 처리 할 수 있도록 구현할 수도 있습니다.

 

"문자열을 잘라야 하는 경우"

아래와 같이 split함수에 option값을 주어야 합니다. 

아래는 <br>을 기준으로 반복되는 string을 <br>을 기준으로 잘라내는 방법입니다.

            string address = "시소코<br>델레알리<br>손흥민";
            string[] result = address.Split(new string[] { "<br>" }, StringSplitOptions.None);

            foreach (var a in result)
            {
                Console.WriteLine(a);
            }

 

 

String.Join


string array를 다시 하나의 문자열 연결하고 싶다면 join함수를 사용하면됩니다.

 

Join 파라미터에 특정 문자로 이어붙이고자 하는 char 타입의 문자를 던져주고, string배열을 함께 던져 주면됩니다.

아래와 같이 arr에 저장된 문자열을 컴마로 다시 이어붙여 보았습니다.

            string nameList = "손흥민,이강인,이청용";

            string[] arr = nameList.Split(','); //char 형태로 정의해주어야함

            foreach (var a in arr)
            {
                Console.WriteLine(a);
            }


            string joinresult = String.Join(',',arr);
            Console.WriteLine(joinresult)

 

Substring


가장 많이 사용하는 string 함수 중의 하나인 substring의 활용법을 확인해보겠습니다.

인덱스 번호를 입력해서 원하는 문자열을 출력할 수 있습니다.

 

substring(시작 인덱스, 시작인덱스포함 출력하고자 하는 문자열 수)

substirng(0,10) : 0번째 인덱스 포함해서 오른쪽으로 10개의 문자열출력

            string rawAddressRoad = "서울특별시 종로구 북촌로5길 48";

            //0번째 인덱스부터 끝까지 출력, 전체 출력과 동일함
            string case_1 = rawAddressRoad.Substring(0);
            
            //0번째 인덱스에 있는 문자 포함해 다음 3개 출력 ( 출력 : 서울특)
            string case_2 = rawAddressRoad.Substring(0, 3);
            
            //6번째 인덱스에 있는 문자 포함해 다음 3개 출력 ( 출력 : 종로구)            
            string case_3 = rawAddressRoad.Substring(6, 3);

 

LIST
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기