C#의 캐리지 리턴

Saad Aslam 2023년10월12일
  1. 매개변수가 없는 Console.WriteLine()을 사용하여 C#에서 새 줄 추가
  2. C#에서 동일한 문자열 내에 새 줄 삽입
  3. C#에서 Environment.NewLine 사용
  4. C#에서 새 줄의 ASCII 리터럴 사용
  5. \r\n 문자를 사용하여 C#에 새 줄 삽입
  6. C#의 기존 문자열에 대해 ASP.NET에 새 줄 삽입
C#의 캐리지 리턴

이 기사에서는 C# 프로그래밍 언어를 사용하여 문자열에서 캐리지 리턴을 생성하는 방법을 설명합니다. C# 문자열에서 캐리지 리턴을 만드는 것은 다르게 수행될 수 있습니다.

C# 문자열에서 캐리지 리턴을 구성하기 위해 모두 유사하게 작동하는 다음 기술을 검사하고 구현합니다.

매개변수가 없는 Console.WriteLine()을 사용하여 C#에서 새 줄 추가

매개변수가 없는 console.WriteLine()을 사용하는 것은 콘솔 프로그램에 새 줄을 추가하는 가장 간단한 방법입니다. 예를 들어:

Console.WriteLine("This is a line");
Console.WriteLine();
Console.WriteLine("This is the second line");

출력:

This is a line

This is the second line

인수 없이 Console.WriteLine() 메서드를 사용하면 위의 Microsoft 문서에서 볼 수 있듯이 줄 종결자가 생성됩니다. 편의상 WriteLine() 함수는 두 줄의 각 집합 사이에 단일 줄 바꿈을 삽입합니다.

기본 간격 외에도 필요에 맞게 이 설정을 변경할 수 있습니다. 예를 들어 Console.WriteLine() 메서드는 한 줄 대신 두 줄을 인쇄하도록 다시 작성할 수 있습니다.

다음과 같은 코드로 문제를 해결할 수 있습니다.

Console.Out.NewLine = "\r\n\r\n";
Console.WriteLine("This is the first line");
Console.WriteLine();
Console.WriteLine("This is the second line");

콘솔은 위의 코드를 사용할 수 있습니다. WriteLine()을 사용하여 두 줄을 삽입합니다.

따라서 문자열이 이러한 방식으로 전달될 수 있습니다. WriteLine()을 사용하면 현재 입력 문자열이 한 줄 확장됩니다.

반면 콘솔에는 매개변수가 없습니다. 한 줄 대신 WriteLine()은 이제 두 줄을 입력합니다.

이 코드를 사용하면 다음과 같은 결과를 얻을 수 있습니다.

This is the first line


This is the second line

첫 번째 콘솔 뒤에 또 다른 줄이 있다는 점에 유의하십시오. 두 번째 콘솔에 WriteLine()을 사용한 다음 두 개의 빈 줄을 사용합니다.

WriteLine()에 대한 세 번째 호출 후에 빈 줄이 하나 있습니다.

C#에서 동일한 문자열 내에 새 줄 삽입

문자열 안의 아무 곳에나 \n을 넣는 것은 기존 문자열에 새 줄을 추가하는 두 번째 옵션입니다. 예를 들어:

Console.WriteLine("This is a line.\nThis is the second line.");

위의 코드는 아래와 같이 실행됩니다.

This is a line.
This is the second line.

알 수 있듯이 \n은 동일한 문자열 안에 새 줄을 성공적으로 삽입할 수 있습니다.

단일 백슬래시는 이스케이프 시퀀스 및 문자를 사용하여 특정 작업이나 기능을 수행합니다. 코드 문자열 리터럴 내에 삽입될 때 이스케이프 시퀀스는 큰따옴표로 묶인 자체를 제외한 모든 것을 나타냅니다.

이스케이프 시퀀스는 번역될 수 있습니다. 문자열 실수는 이스케이프 시퀀스 문제를 일으킵니다. \t 탭, \a 경고음.

C#에서 Environment.NewLine 사용

\r\n은 Windows에서 줄 바꿈에 해당합니다. C# 문자열에 개행을 삽입하는 몇 가지 방법이 있으며 최적의 방법은 소프트웨어에 따라 다릅니다.

문자열에서 새 줄을 시작하려면 Environment.NewLine을 사용할 수 있습니다. 예를 들어:

Console.WriteLine("This is a line." + Environment.NewLine + "This is the second line.");

출력:

This is a line.
This is the second line.

위의 코드는 이전 결과와 동일한 결과를 생성합니다.

새 줄, 줄 바꿈, 줄 바꿈, 캐리지 리턴, CRLF 및 줄 끝은 NewLine의 기능과 함께 사용할 때 동일한 의미를 나타냅니다. 이스케이프 문자 \r\n 또는 vbCrLf(Visual Basic의 경우)와 같은 개행 문자는 언어별 개행 지원 Microsoft C# 및 C/C++와 함께 NewLine과 함께 사용할 수 있습니다.

콘솔은 처리된 텍스트 뒤에 자동으로 새 줄을 삽입합니다. 줄을 추가하기 위한 WriteLineStringBuilder 클래스 메서드.

C#에서 새 줄의 ASCII 리터럴 사용

이 방법은 \n과 유사합니다. 반면에 새 줄을 나타내는 리터럴 ASCII 문자를 대신 사용할 수 있습니다.

예를 들어:

Console.WriteLine("This is a line. \x0AThis is the second line.");

출력:

This is a line.
This is the second line.

새 줄 x0A에 대한 이 ASCII 리터럴은 마찬가지로 위에 표시된 텍스트에 새 줄을 삽입합니다.

\r\n 문자를 사용하여 C#에 새 줄 삽입

문자열에 \r\n을 삽입하여 새 줄을 도입할 수 있습니다. 예를 들어:

Console.WriteLine("This is a line. \r\nThis is the second line.");

출력:

This is a line.
This is the second line.

위의 코드는 \r\n을 사용하여 새 줄을 올바르게 삽입합니다. 두 용어 \r\n\n 사이에 큰 차이가 있습니까?

\n은 새 줄을 나타내고 \r은 문서의 맨 왼쪽으로 커서를 이동하는 캐리지 리턴을 나타냅니다. 왼쪽에서 줄의 시작 부분부터 인쇄하려면 줄 바꿈에 \n을 사용하고 맨 왼쪽 위치로 캐리지 리턴에 \r을 사용해야 합니다. 이것은 Windows 플랫폼에 보존된 고대 컴퓨터 구문에서 가져온 것입니다.

  1. \r\n은 Windows 스타일입니다.
  2. \n은 POSIX 스타일입니다.
  3. \r은 POSIX 스타일을 사용하는 최신 Mac의 OS X 이전 이전 스타일입니다.

C#의 기존 문자열에 대해 ASP.NET에 새 줄 삽입

HTML 또는 ASP.NET의 줄 바꿈은 <br/> 태그로 표시됩니다. 줄 바꿈이 포함된 기존 문자열을 <br/> 태그가 포함된 HTML 코드로 변환해야 하는 경우가 많습니다.

다음 접근 방식을 사용하여 정규식을 사용하여 문자열의 새 줄을 HTML 줄 바꿈으로 변환할 수 있습니다.

public static string ConvertToLineBreaks(this string inputString) {
  Regex regEx = new Regex(@"(\\n|\\r)+");
  return regEx.Replace(inputString, "");
}

위에 표시된 접근 방식은 확장 방법으로 사용하기 위한 것입니다. 메소드를 별도의 파일에 포함시킨 다음 using 문을 사용하여 코드에 포함시키십시오.

마지막으로 다음과 같이 메서드를 호출합니다.

string html = inputString.ConvertToLineBreaks();

위의 정규식을 여기에서 테스트할 수 있습니다.

작가: Saad Aslam
Saad Aslam avatar Saad Aslam avatar

I'm a Flutter application developer with 1 year of professional experience in the field. I've created applications for both, android and iOS using AWS and Firebase, as the backend. I've written articles relating to the theoretical and problem-solving aspects of C, C++, and C#. I'm currently enrolled in an undergraduate program for Information Technology.

LinkedIn

관련 문장 - Csharp String