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

C#으로 문자열 내 단어 개수 세는 방법 완벽 가이드

C#에서 문자열의 단어 수를 계산하는 방법

C# 프로그래밍에서 문자열에 포함된 단어의 개수를 계산해야 하는 경우가 자주 있습니다. 예를 들어 다음과 같은 문자열이 있다고 가정해 보겠습니다.

str1 = "Hello World!";

이 문자열에는 총 2개의 단어가 포함되어 있습니다. 그렇다면 어떻게 단어 수를 자동으로 계산할 수 있을까요?

단어 개수 계산의 기본 원리

핵심 아이디어는 간단합니다. 문자열을 처음부터 끝까지 한 글자씩 반복하면서 탐색하고, 공백(' '), 줄바꿈(\n), 탭(\t)과 같은 구분 문자를 발견할 때마다 카운트 변수를 1씩 증가시키는 것입니다.

이를 코드로 표현하면 다음과 같습니다.

if(str1[a]==' ' || str1[a]=='\n' || str1[a]=='\t') {
    count++;
}

전체 예제 코드

아래는 위 로직을 활용해 C#에서 주어진 문자열의 단어 수를 계산하는 완전한 예제입니다.

using System;
public class Demo {
    public static void Main() {
        string str1;
        int a, count;
        str1 = "Hello World!";
        a = 0;
        count = 1;
        while (a <= str1.Length - 1) {
            if(str1[a]==' ' || str1[a]=='\n' || str1[a]=='\t') {
                count++;
            }
            a++;
        }
        Console.Write("Total words= {0}\n", count);
    }
}

코드 설명

  • count = 1로 초기화: 마지막 단어 뒤에는 공백이 없기 때문에, 단어 수는 구분 문자의 개수보다 항상 하나 많습니다. 따라서 초기값을 1로 설정합니다.
  • while 반복문: 인덱스 a가 문자열 길이 - 1에 도달할 때까지 한 글자씩 검사합니다.
  • 조건문: 현재 문자가 공백, 줄바꿈, 또는 탭 중 하나라도 해당되면 count를 증가시킵니다.

실행 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

Total words= 2

"Hello World!"라는 문자열에는 공백이 하나 있으므로, 초기값 1에 공백 1개가 더해져 총 단어 수 2개가 정확히 계산됩니다. 이 방식은 여러 줄의 텍스트나 탭이 포함된 문자열에도 동일하게 적용할 수 있습니다.