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

C#에서 문자열의 줄 바꿈을 교체하는 방법 완벽 가이드

C# 프로그래밍에서는 문자열에 포함된 줄 바꿈(New Line), 공백(Space), 탭(Tab) 등의 특수 문자를 다른 문자로 교체해야 하는 경우가 자주 발생합니다. 예를 들어, 여러 줄로 된 텍스트를 한 줄로 합치거나 데이터를 정규화할 때 유용합니다.

이번 글에서는 아래와 같은 문자열에서 줄 바꿈과 탭 문자를 언더스코어(_)로 교체하는 방법을 두 가지 방식으로 살펴보겠습니다.

방법 1: Replace() 메서드 사용

가장 간단한 방법은 string.Replace() 메서드를 활용하는 것입니다. 이 메서드는 지정한 문자열 패턴을 찾아 새로운 문자열로 대체하며, 연속으로 호출하여 여러 패턴을 한 번에 처리할 수 있습니다.

using System;
namespace DemoApplication {
    class Program {
        static void Main(string[] args) {
            string testString = "Hello \n\r beautiful \n\t world";
            string replacedValue = testString.Replace("\n\r", "_").Replace("\n\t", "_");
            Console.WriteLine(replacedValue);
            Console.ReadLine();
        }
   }
}

실행 결과

위 코드를 실행하면 줄 바꿈 문자(\n\r)와 탭 문자(\n\t)가 모두 언더스코어(_)로 교체된 것을 확인할 수 있습니다.

Hello _ beautiful _ world

방법 2: Regex(정규식) 사용

교체해야 할 패턴이 많거나 복잡한 경우에는 정규식을 사용하는 것이 더 효율적입니다. Regex.Replace() 메서드를 활용하면 하나의 패턴으로 여러 종류의 줄 바꿈을 동시에 처리할 수 있습니다. 정규식 관련 클래스는 System.Text.RegularExpressions 네임스페이스에서 제공됩니다.

using System;
using System.Text.RegularExpressions;
namespace DemoApplication {
    class Program {
        static void Main(string[] args) {
            string testString = "Hello \n\r beautiful \n\t world";
            string replacedValue = Regex.Replace(testString, @"\n\r|\n\t", "_");
            Console.WriteLine(replacedValue);
            Console.ReadLine();
        }
   }
}

실행 결과

정규식 패턴 @"\n\r|\n\t"는 OR 연산자(|)를 사용하여 두 가지 줄 바꿈 패턴을 동시에 매칭합니다. 실행 결과는 Replace() 메서드와 동일합니다.

Hello _ beautiful _ world

두 방법의 비교 및 활용 팁

  • Replace() 메서드: 코드가 직관적이고 간단하여 소량의 고정된 패턴을 처리할 때 적합합니다.
  • Regex: 패턴이 다양하거나 동적으로 변하는 경우, 그리고 Windows(\r\n), Unix(\n), Mac(\r) 등 서로 다른 운영체제의 줄 바꿈 형식을 한 번에 처리해야 할 때 유용합니다.

실무에서는 @"\r\n|\r|\n"과 같은 정규식 패턴을 사용하면 모든 운영체제의 줄 바꿈 문자를 일관되게 처리할 수 있으므로 참고하시기 바랍니다.