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

C#에서 문자열의 특정 문자를 변경하는 방법


먼저 변경할 대상이 되는 문자열이 있다고 가정해 보겠습니다.

StringBuilder str = new StringBuilder();
str.Append("pre");

C#에서 string 타입은 불변(immutable)이기 때문에 한 번 생성된 문자열의 특정 문자를 직접 수정할 수 없습니다. 반면 StringBuilder는 가변(mutable) 객체이므로 인덱스를 사용해 특정 위치의 문자를 손쉽게 변경할 수 있습니다.

문자를 변경하려면 해당 인덱스 위치에 새로운 값을 할당하면 됩니다. 아래 코드는 세 번째 위치의 문자를 'o'로 바꾸는 예시입니다.

str[2] = 'o';

C#의 인덱스는 0부터 시작하므로 세 번째 문자의 인덱스는 2가 됩니다. 다음은 전체 코드입니다.

예제

using System;
using System.Text;

public class Demo {
   public static void Main() {
      StringBuilder str = new StringBuilder();
      str.Append("pre");
      Console.WriteLine("String : "+str);
      Console.WriteLine("Change 3rd character");
      str[2] = 'o';
      Console.WriteLine("New String : "+str);
   }
}

실행 결과

String : pre
Change 3rd character
New String : pro

실행 결과를 보면 원래 문자열 "pre"의 세 번째 문자 'e'가 'o'로 변경되어 최종적으로 "pro"가 된 것을 확인할 수 있습니다. 이처럼 StringBuilder의 인덱서(indexer)를 활용하면 문자열 내부의 특정 문자를 간단하게 교체할 수 있습니다.