IMCAT.DEV
로그인 가입
C# 입문 자료구조

C# 문자열 다루기

C# 문자열 다루기 — 초급

C# 문자열 다루기

1. 도입 (왜 배워야 하는가)

프로그래밍에서 문자열은 데이터를 표현하고 처리하는 데 있어 가장 기본적인 단위입니다. 사용자 입력, 파일 읽기, API 응답 등 다양한 상황에서 문자열을 다루게 되며, 이 과정에서 발생할 수 있는 오류를 예방하고, 효율적인 문자열 처리를 위해서는 문자열의 다양한 기능과 메서드를 이해하는 것이 필수적입니다. 만약 문자열 처리에 대한 이해가 부족하다면, 데이터 처리에서 오류가 발생하거나, 프로그램의 성능이 저하되는 문제를 겪을 수 있습니다. 예를 들어, 사용자 입력을 검증하지 않으면 프로그램이 예상치 못한 동작을 하거나 심지어 중단될 수 있습니다.

2. 핵심 개념 설명

문자열(String)

문자열은 문자들의 집합으로, 보통 텍스트 데이터를 다루는 데 사용됩니다. 예를 들어, "안녕하세요"라는 문자열은 5개의 문자로 구성되어 있습니다.

문자열 메서드

C#에서는 문자열을 다루기 위해 다양한 메서드를 제공합니다. 예를 들어, Length, Substring, Contains, Replace 등을 사용하여 문자열을 조작할 수 있습니다.

메서드설명
Length문자열의 길이를 반환합니다.
Substring문자열의 일부를 반환합니다.
Contains특정 문자열이 포함되어 있는지 검사합니다.
Replace문자열 내의 특정 문자를 다른 문자로 교체합니다.

3. 기본 코드 예제

아래는 C#에서 문자열을 다루는 기본적인 예제입니다.

using System;

class Program
{
    static void Main()
    {
        string greeting = "안녕하세요";
        
        // 문자열의 길이를 출력합니다.
        Console.WriteLine("문자열의 길이: " + greeting.Length);
        
        // 문자열의 일부를 출력합니다.
        string part = greeting.Substring(0, 2);
        Console.WriteLine("부분 문자열: " + part);
        
        // 문자열에 특정 단어가 포함되어 있는지 확인합니다.
        bool containsHello = greeting.Contains("하세");
        Console.WriteLine("문자열에 '하세' 포함 여부: " + containsHello);
    }
}

실행 결과:

문자열의 길이: 5
부분 문자열: 안녕
문자열에 '하세' 포함 여부: True

동작 설명:

  1. string greeting = "안녕하세요"; - "안녕하세요"라는 문자열을 greeting 변수에 저장합니다.
  2. greeting.Length - 문자열의 길이를 계산하여 출력합니다. 여기서는 5입니다.
  3. greeting.Substring(0, 2); - 문자열의 0번째 인덱스부터 2개의 문자를 잘라내어 part에 저장합니다. 결과는 "안녕"입니다.
  4. greeting.Contains("하세"); - greeting 문자열에 "하세"라는 부분 문자열이 포함되어 있는지 검사하여 결과를 출력합니다. 여기서는 참(True)입니다.
  5. 4. 실전 활용 예제

    예제 1: 사용자 입력 검증

    쇼핑몰에서 사용자가 입력한 이메일 주소가 올바른 형식인지 확인하는 코드입니다.

    using System;
    
    class Program
    {
        static void Main()
        {
            Console.Write("이메일 주소를 입력하세요: ");
            string email = Console.ReadLine();
    
            if (email.Contains("@") && email.Contains("."))
            {
                Console.WriteLine("유효한 이메일 주소입니다.");
            }
            else
            {
                Console.WriteLine("유효하지 않은 이메일 주소입니다.");
            }
        }
    }

    예제 2: 문자열 치환

    사용자가 입력한 문장에서 특정 단어를 다른 단어로 교체하는 코드입니다.

    using System;
    
    class Program
    {
        static void Main()
        {
            string sentence = "나는 사과를 좋아합니다.";
            string modifiedSentence = sentence.Replace("사과", "바나나");
            
            Console.WriteLine(modifiedSentence); // 출력: 나는 바나나를 좋아합니다.
        }
    }

    5. 흔한 실수와 주의사항

    실수 1: 문자열 인덱스 초과

    string text = "안녕하세요";
    char character = text[10]; // 인덱스 초과로 오류 발생

    올바른 코드:

    char character = text[0]; // 첫 번째 문자 '안'을 가져옵니다.

    실수 2: 대소문자 구분

    string str = "Hello";
    bool isEqual = str.Contains("hello"); // false, 대소문자 구분

    올바른 코드:

    bool isEqual = str.ToLower().Contains("hello"); // true, 대소문자 무시

    6. 정리

    • 문자열은 프로그래밍의 기본 데이터 타입으로, 다양한 메서드를 통해 조작 가능합니다.
    • 문자열의 길이, 부분 문자열 추출, 포함 여부 검사 등의 기본 기능을 활용할 수 있습니다.
    • 실무에서는 입력 데이터 검증, 문자열 치환 등의 패턴을 자주 사용합니다.
    • 다음에 학습하면 좋은 주제: 문자열 포맷팅, 정규 표현식, 문자열 비교 및 정렬.