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

C#으로 문자열의 특정 인덱스에 있는 문자 교체하기

C#에서 문자열(string)은 불변(immutable)이기 때문에 한 번 생성된 문자열의 특정 문자를 직접 수정할 수 없습니다. 따라서 주어진 인덱스에 있는 문자를 교체하려면 문자열을 문자 배열(char 배열)로 변환한 뒤 해당 위치의 값을 변경하고, 다시 문자열로 만들어야 합니다.

1단계: 문자열 설정

먼저 교체 작업을 진행할 원본 문자열을 선언합니다.

string str1 = "Port";
Console.WriteLine("Original String: "+str1);

2단계: 문자열을 문자 배열로 변환

ToCharArray() 메서드를 사용하면 문자열을 문자 배열로 손쉽게 변환할 수 있습니다.

char[] ch = str1.ToCharArray();

3단계: 인덱스를 지정하여 문자 교체

배열의 인덱스는 0부터 시작하므로, 세 번째 위치의 문자를 바꾸려면 인덱스 2를 사용해야 합니다.

ch[2] = 'F';

아래 예제는 문자열의 첫 번째 문자(인덱스 0)를 'F'로 교체하는 전체 과정을 보여줍니다.

예제

using System;
using System.Collections.Generic;
public class Demo {
    public static void Main(string[] args) {
        string str1 = "Port";
        Console.WriteLine("Original String: "+str1);
        char[] ch = str1.ToCharArray();
        ch[0] = 'F';
        string str2 = new string(ch);
        Console.WriteLine("New String: "+str2);
    }
}

출력 결과

Original String: Port
New String: Fort

코드 설명

  • str1.ToCharArray() : 문자열을 개별 문자로 이루어진 배열로 변환합니다.
  • ch[0] = 'F' : 배열의 첫 번째 요소(인덱스 0)를 새로운 문자로 교체합니다.
  • new string(ch) : 수정된 문자 배열을 다시 하나의 문자열로 결합합니다.

이처럼 ToCharArray()new string()을 함께 사용하면 문자열 내 임의의 위치에 있는 문자를 자유롭게 교체할 수 있습니다. 동일한 방식으로 다른 인덱스의 문자도 원하는 값으로 손쉽게 변경할 수 있습니다.