1. 문자열의 선언
    string str = "마음소프트";
    System.String str = "마음소프트";
    String str = "마음소프트";
    // 보통 첫번째인 string형으로 많이 선언하게 됩니다.
     
  2. 인덱스(Index)로 접근하기
    string str = "가나다라마바사";
    Response.Write( str[0] );
    // 결과는 첫번째 문자인 '가' 출력
     
  3. 문자열 추가
    string str1 = "반갑습니다. ";
    str1 = str1.Insert(str1.Length, "홍길동님");
    str1 = str1.Insert(0, "앗! ");
    Response.Write( str1 );
    // 결과는 '앗! 반갑습니다. 홍길동님' 출력

    string str2 = String.Concat("마", "음", "소", "프", "트");
    Response.Write( str2 );
    // 결과는 '마음소프트' 출력

    string str3 = "마" + "음" + "소" + "프" + "트";
    Response.Write( str3 );
    // 결과는 '마음소프트' 출력
     

  4. 대소문자 변환
    C#은 대소문자를 구분하기 때문에 자주 사용되며, 대소문자가 구분없는 한글은 별다른 소용이 없습니다.
    예를 들면, 'MaumSoft' 값과 'maumsoft' 라는 값은 서로 틀린 값이라고 보시면 되겠습니다. 사실은 같은 값이지만 --;

    string str = "MaumSoft";
    Response.Write( str.ToUpper() );
    Response.Write( str.ToLower() );
    // 결과는 각각 'MAUMSOFT', 'maumsoft' 출력
     

  5. 공백 문자열 지우기
    string str = " 마음소프트 ";
    str = str.TrimStart(); // 앞(왼쪽)쪽 문자열 삭제
    str = str.TrimEnd(); // 뒤(오른쪽)쪽 문자열 삭제
    str = str.Trim(); // 양쪽 문자열 삭제
    // 특별한 상황이 아니면, 보통 Trim을 씁니다.
     
  6. 문자열을 찾아서 문자열 자르기
    전체 문자열에서 어떤 문자열을 찾아서, 그 검색된 문자열을 다음 공백까지 잘라내는 작업을 많이 합니다.
    전문 용어로 이를 파싱(Parsing)이라고 부릅니다.
    IndexOf( "검색할 문자열" );
    LastIndexOf( "검색할 문자열" );
    Substring( 자를 위치 첨자 );
    Substring( 자를 위치 첨자, 첨자에서 자를 만큼의 길이 );
     
  7. 구분자 기준으로 문자열 자르기 (Split)
    구분자를 기준으로 문자열을 분리시켜서 배열로 반환합니다.
    string str = "가,나,다,라,마";
    string [] result = str.Split(',');
     
  8. 문자열 치환하기
    문자열 중 특정 문자를 다른 문자로 바꾸고 싶을때 Replace 가 사용됩니다. 특히 ASP.NET 에서 내용을 보여줄때 꼭 쓰입니다.
    string str = "마음소프트\r\nC# 라이브러리";
    str = str.Replace( "\r\n", "<br>" );
    // 글 입력을 받을 때 textarea 내에서 엔터를 치면 /r/n 으로 데이터가 입력됩니다. (일명 Carriage return 과 New line)
    // 그냥 출력해서 보여주면 내용이 라인 구분없이 계속 붙어 나옵니다.
     
  9. System.String 클래스의 인스턴스 메서드
    Clone 클래스 참조 반환
    CompareTo 특정 객체와 비교
    CopyTo 객체 복사
    EndsWith 특정 문자열로 끝나는지를 확인
    Equals 비교 연산
    GetEnumerator IEnumerator 인터페이스 반환
    GetHashCode 해쉬 코드 반환
    GetType 형식 정보 반환
    GetTypeCode TypeCode 반환
    IndexOf 문자열 검색
    IndexOfAny 유니코드 문자열에서 먼저 나오는 문자 반환
    Insert 문자열 삽입
    LastIndexOf IndexOf를 뒤에서부터 수행
    LastIndexOfAny IndexOfAny를 뒤에서부터 수행
    PadLeft 문자열에서 남아있는 왼쪽을 빈 공백으로 채움
    PadRight 문자열에서 남아있는 오른쪽을 빈 공백으로 채움
    Remove 지정 개수의 문자 제거
    Replace 문자열 치환
    Split 문자열 분리하여 배열로 반환
    StartsWith 특정 문자로 시작하는지를 확인
    Substring 문자열 추출
    ToCharArray 문자 배열로 변환
    ToLower 소문자로 변환
    ToString 객체를 나타내는 문자열 반환
    ToUpper 대문자로 변환
    Trim 양쪽 공백 없앰
    TrimEnd 문자열 끝 부분의 공백 없앰
    TrimStart 문자열 시작 부분의 공백 없앰


    ### code -----------------------------------------------------------------------------

    using System;

    namespace ConsoleTest
    {
              class Class1
              {
                        public static void  Main(string[]args)
                        {
       
                                           //문자열 비교
                               
               string str;
                                           string str1="ABC";
                                           string  str2="ABC";

                                           if(str1.Equals(str2))
                                                    Console.WriteLine("동일");
                                           else
                                                    Console.WriteLine("다름");

                                           //문자열삭제
                                          string  str3 = "나는 문자열입니다.";
                                   Console.WriteLine(str3.Remove(3,4));    //3위체에서부터 4개 삭제

                                          //양식문자열
                                          //콘솔이 아닌 웹등에서 사용용이, 사용법은 WriteLine과 같음.

                                           str = String.Format("{0,10}","ABC");    
                                           Console.WriteLine(str);                 //콘솔에서는 WriteLine 사용
                             
                 Console.WriteLine(String.Format("{0:f2}",1520));

                                           //문자열 일정문자단위로 분리
                                          string csv = "전도환, 노테우, 김명삼, 김대증,노모현,이헤찬, 니미럴....";
                                          string [] result;

                                          result = csv.Split(',');
                                         for( int i=0; i<result.Length;i++)
                                                 Console.WriteLine(result[i].Trim());

                                         //문자열길이, 복제. 비교
                                        str = "가나다라마바사";
                                        Console.WriteLine("문자열 : {0}", str);
                                        Console.WriteLine("문자열 길이 : {0}", str.Length);
                                        Console.WriteLine("문자열 복제 : {0}", str.Clone());
                                        Console.WriteLine("문자열 비교 : {0}", str.Equals("ABCDE"));

                                        //Indexer
                                        char firstChar = str[0];
                                        Console.WriteLine("첫문자 : {0}", firstChar);       // 결과 : 가

                                        //문자열 추가 ( Insert )
                                       str2="추가문자열";
                                       str = str.Insert(0, str2);  //0번째 위치에 str2문자열 추가
                               
           Console.WriteLine(str);

                                        //문자열 병합 ( Concat )
                                        str2 = String.Concat("가","마","사");
                                        Console.WriteLine(str2);
                                        str2 = String.Concat(str,"마","사");
                                        Console.WriteLine(str2);
                                        str2 = str2 + str;
                                        Console.WriteLine(str2);

                                         //대소문자 변환 ( ToLower, ToUpper )
                                          str = "Hi~ GoodMorning~";
                                         Console.WriteLine(str.ToUpper());
                                         Console.WriteLine(str.ToLower());
                                         Console.WriteLine(str);

                                        //문자열 좌/우 공백제거 ( Trim )
                                        str = "    열심히 공부하세요     ";
                                        Console.WriteLine(">" + str.TrimStart() + "<") ;
                                        Console.WriteLine(">" + str.TrimEnd() + "<");
                                        Console.WriteLine(">" + str.Trim() + "<");
                                        Console.WriteLine(">" + str.TrimStart().TrimEnd() + "<");

                                       //문자열 치환 (Replace) 대소문자 구분한다.
                            
                str = "Hello~";
                                        Console.WriteLine(str);
                                        Console.WriteLine(str.Replace("~", "..."));

                                        //문자열 검색, 0부터 시작. 해당하는 문자열의 첫번째 위치값 리턴 ( IndexOf )
                                        Console.WriteLine(str.IndexOf("공부"));

                                        str = "I Love You~";

                                        //문자열 추출b ( Substring )
                                        Console.WriteLine(str.Substring(2));    //2번째위치부터 끝까지
                             
              Console.WriteLine(str.Substring(2,4));
                                }                                  
                   }

     ### -------------------------------------------------------------------------------------

     




     

     ToCharArray
    - 문자열을 Char형의 배열 형식으로 반환합니다

    ### code -----------------------------------------------------------------------------

    using System;

    namespace ConsoleTest
    {
              class Class1
              {
                        public static void  Main(string[]args)
                        {
       
                                         string str = "012wxyz789";
                                         char [] arr;

                                         arr = str.ToCharArray(3, 6);   //3번째 위치에서 6개의 글자를 추출해 배열방에 각각 넣는다.
                                
            Console.Write("The letters in '{0}' are: '", str);
                                         Console.Write(arr);             //배열방 출력시 해당내용 출력

                                        for( int i=0;i<arr.Length;i++)   //각각의 배열방에도 들어가 있음.
                         
                          Console.WriteLine(arr[i]);

                                         Console.WriteLine("'");

                                         char [] array;
                                         array = str.ToCharArray();     //인자를 써주지 않으면 모든 문자 배열에 집어넣음
                           
                 Console.WriteLine("Each letter in '{0}' is:", str);
                                         Console.WriteLine(array);

                                        foreach (char c in arr)
                                                Console.WriteLine(c);
                                }                                  
                   }

     ### -------------------------------------------------------------------------------------

     System.Text.StringBulider
    - 닷넷에서 String클래스를 이용한 문자열 처리는 비효율적
    - 대형 문자열이나 잦은 문자열 변경시
    - 대부분의 문자열 관련 함수들이 String 인스턴스를 새로 생성시켜 반환

        StringBulider sb = new StringBulider("ABC");

     - StringBuilder.Capacity : 객체내에 문자열 버퍼 크기
     - StringBuilder.Length : 문자열 길이

    ### code -----------------------------------------------------------------------------

    using System;

    namespace ConsoleTest
    {
              class Class1
              {
                        public static void  Main(string[]args)
                        {
       
                                  StringBuilder sb = new < /FONT > StringBuilder("I am a Boy", 18);
                                        // StringBuilder Test
                                        //가용량을 적어주지 않으면 기본 용량은 16이고, 기본 최대 용량은 Int32.MaxValue

                                        Console.WriteLine(sb.ToString());
                                        Console.WriteLine(sb.Length);
                                        Console.WriteLine(sb.Capacity);
                                        Console.WriteLine(sb.MaxCapacity);

                                        Console.WriteLine(sb.Insert(0,"삽입"));

                                        Console.WriteLine(sb.Remove(0,2));

                                        Console.WriteLine(sb.Append("추가문자열"));
                                        Console.WriteLine(sb.Append(5000));
                                        Console.WriteLine(sb.AppendFormat("{0,10}","end"));

                                        Console.WriteLine(sb[0]);
                                        sb[0] = 'i';
                                        Console.WriteLine(sb[0]);

                                        Console.WriteLine(sb.ToString().Replace(" ",""));
                                        Console.WriteLine(sb.ToString().IndexOf("Boy"));
                                  }                                  
                   }

     ### -------------------------------------------------------------------------------------

+ Recent posts