소년포비의 세계정복!!

문자열 다루기 본문

프로그램 세상/C#

문자열 다루기

소년포비 2009. 10. 6. 06:33

문득 아무생각 없이 VS 를 열어놓고 문자열 함수들을 이리저리 코딩해 본다.
 
VS 의 자동완성과 자세한 툴팁 덕분에 거의 암기할 필요 없는 함수들이지만...
 
VS가 없다면 대략 헷갈리는 몇몇이 있음이야...
 
(설명 생략.. 주석 처리..)
 

string firstString = "MyString";

 

            //문자열을 문자(Char) 배열로...

            char[] chars = firstString.ToCharArray();

            foreach (char c in chars)

            {

                Console.WriteLine(c);

            }

 

            //문자열을 대/소문자로 변환

            string smallLetter = firstString.ToLower();         //소문자

            Console.WriteLine(smallLetter);

            string capitalLetter = firstString.ToUpper();       //대문자

            Console.WriteLine(capitalLetter);

 

            //원본 문자열 변수 s 의 값은 변경되지 않는다

            Console.WriteLine(firstString);

 

            //공백제거

            string secondString = "   MyString   ";

            string trimString = secondString.Trim();            //,뒤 공백제거

            string trimStartString = secondString.TrimStart();  //앞 공백제거

            string trimEndString = secondString.TrimEnd();      //뒤 공백제거

            Console.WriteLine(trimString);

            Console.WriteLine(trimStartString);

            Console.WriteLine(trimEndString);

 

            //문자열 처음과 끝에서 특정 문자() 제거 하기

            char[] trimChars = new char[] { ' ', 'M' , 'y' , 'g' , 'n' };

            string trimResultString = secondString.Trim(trimChars); //앞,뒤에 해당하는 문자가 있어야 제거가능,중간만 제거 불가

            Console.WriteLine(trimResultString);

 

            //문자열 처음과 끝에 특정 문자 추가하기

            string thirdString = "MyString"; //길이 : 8

            string padLeftString = thirdString.PadLeft(10, '*');    // 10 - 8 = 2 만큼 앞 채우기

            Console.WriteLine(padLeftString);

            string padRightString = thirdString.PadRight(10, '*');  // 10 - 8 = 2 만큼 뒤 채우기

            Console.WriteLine(padRightString);

 

            //문자열내 특정 구분자를 기준으로 배열 만들기

            string fourthString = "My,St,ri,ng";

            string[] arrayStrings = fourthString.Split(',');

            foreach (string s in arrayStrings)

            {

                Console.WriteLine(s);

            }

 

            Console.WriteLine();

 

 

            //닷넷 2.0은 구분자 문자열로 가능

            string fifthString = "My^^St^^ri^^ng";

            string[] arrayStrings2 = fifthString.Split(new string[] { "^^" }, StringSplitOptions.None);

            foreach (string s2 in arrayStrings2)

            {

                Console.WriteLine(s2);

            }

 

 

            //기타 문자열 조작 함수 샘플

            string myString = "대한민국";

            Console.WriteLine("문자열 길이 : {0}",myString.Length);

 

            Console.WriteLine("''의 위치 : {0}",myString.IndexOf("")); //문자열 인덱스 0부터 시작

            Console.WriteLine("'' -> ''로 치환 : {0}", myString.Replace("", ""));

 

            Console.WriteLine("2번째 자리부터 2자리 문자 자르기 : {0}", myString.Substring(2, 2)); //문자열 인덱스 0부터 시작

 

            Console.WriteLine("2번째 문자뒤에 '' 삽입 : {0}",myString.Insert(2, ""));

 

            Console.WriteLine("2번재 문자부터 2개 지우기 : {0}",myString.Remove(2, 2));

 

            //원본 문자열은 변경되지 않음

            Console.WriteLine("원본 문자열 : {0}",myString);

 


 
 
 
심플한 샘플 - url 로 부터 파일 확장자 검색
 

string url = "http://www.mkex.pe.kr/Directory1/Test.aspx";

 

//url 로 부터 확장자 알아내기

int index = url.LastIndexOf('.');

string extension = url.Substring(index + 1);

Console.WriteLine("확장자 : {0}", extension);

 

//url 로 부터 파일명을 알아내기 위해서는 아래 '/' 위치 찾기

//int index = url.LastIndexOf('/');