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

C# StringBuilder Remove() 메서드로 인덱스 기준 문자 범위 제거하기

C#에서 StringBuilderRemove() 메서드를 사용하면 지정한 인덱스 위치부터 원하는 개수만큼 문자를 간단하게 제거할 수 있습니다.

예를 들어 다음과 같은 문자열이 있고, 이 문자열에서 일부 문자를 삭제해야 한다고 가정해 보겠습니다.

StringBuilder myStr = new StringBuilder("Framework");

이때 Remove() 메서드에 시작 인덱스제거할 문자 수를 순서대로 지정하면 됩니다.

myStr.Remove(5, 4);

위 코드는 인덱스 5부터 4개의 문자를 제거하라는 의미입니다.

예제 코드

using System;
using System.Text;

public class Program {
    public static void Main() {
        StringBuilder myStr = new StringBuilder("Framework");
        Console.WriteLine("Initial String: " + myStr);

        // 네 개의 문자 제거
        Console.Write("New string: ");
        myStr.Remove(5, 4);
        Console.WriteLine(myStr);
    }
}

실행 결과

Initial String: Framework
New string: Frame

코드 설명

"Framework" 문자열에서 인덱스 5는 여섯 번째 문자인 'w'입니다. 따라서 Remove(5, 4)를 실행하면 'w'부터 시작하는 4개의 문자('w', 'o', 'r', 'k')가 삭제되어 최종적으로 "Frame"이라는 결과가 출력됩니다.

이처럼 Remove(int startIndex, int length) 형태로 호출하면 StringBuilder 객체가 직접 수정되며, 별도의 새 문자열 할당 없이 효율적으로 문자열을 편집할 수 있습니다.