Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C#에서 문자열의 각 단어 첫 글자만 추출해 출력하는 방법

C# 프로그래밍을 하다 보면 문장에 포함된 각 단어의 첫 글자(이니셜)만 추출해야 하는 경우가 종종 있습니다. 예를 들어 "Never Give Up!"이라는 문자열에서 N, G, U만 뽑아내는 것이죠. 이번 글에서는 Split()과 Substring() 메서드를 활용해 이 작업을 간단하게 처리하는 방법을 알아보겠습니다.

1. 기본 아이디어

먼저 다음과 같은 문자열이 있다고 가정해 보겠습니다.

string str = "Never Give Up!";

각 단어의 첫 글자를 얻으려면 두 단계를 거치면 됩니다.

  • Split() 메서드로 문자열을 공백 기준으로 나누어 단어 배열을 만듭니다.
  • Substring(0, 1) 메서드로 각 단어의 첫 번째 문자만 잘라냅니다.

2. 전체 예제 코드

아래는 위 로직을 실제로 구현한 완전한 C# 코드입니다.

using System;

public class Program {
    public static void Main() {
        string str = "Never Give Up!";
        Console.WriteLine("Initial String= " + str);

        Console.WriteLine("Displaying first letter of each word...");
        string[] strSplit = str.Split();

        foreach (string res in strSplit) {
            Console.Write(res.Substring(0, 1));
        }
    }
}

코드 설명

  • str.Split(): 문자열을 공백 문자를 기준으로 분리하여 string[] 배열을 반환합니다. 결과적으로 { "Never", "Give", "Up!" } 세 개의 요소가 생성됩니다.
  • foreach 반복문: 배열의 각 단어를 순서대로 하나씩 가져옵니다.
  • res.Substring(0, 1): 각 단어에서 인덱스 0부터 1개의 문자, 즉 첫 글자만 추출합니다.
  • Console.Write(): 줄바꿈 없이 이어서 출력하기 위해 WriteLine 대신 Write를 사용했습니다.

3. 실행 결과

위 코드를 실행하면 다음과 같은 출력을 확인할 수 있습니다.

Initial String= Never Give Up!
Displaying first letter of each word...
NGU

4. 참고 사항

실무에서는 몇 가지 추가로 고려할 점이 있습니다.

  • 빈 문자열 방지: 연속된 공백이 있으면 빈 요소가 생길 수 있으므로, str.Split(' ', StringSplitOptions.RemoveEmptyEntries) 옵션을 사용하면 더 안전합니다.
  • null 검사: 입력 문자열이 null일 가능성이 있다면 처리 전에 반드시 확인하세요.

이처럼 Split()과 Substring()만으로도 간단히 각 단어의 이니셜을 추출할 수 있습니다. 이름 약자 표기, 목차 생성 등 다양한 상황에서 유용하게 활용해 보세요.