[C#] 문자열 C #에서 줄 바꿈 바꾸기

C #의 문자열 내에서 줄 바꿈을 어떻게 바꿀 수 있습니까?



답변

다음으로 교체 사용 Environment.NewLine

myString = myString.Replace(System.Environment.NewLine, "replacement text"); //add a line terminating ;

다른 게시물에서 언급했듯이 문자열이 다른 환경 (OS)에서 온 경우 줄 바꾸기 문자 의 특정 환경 구현을 대체해야합니다 .


답변

지금까지 게시 된 솔루션은 Environment.NewLine 거나 string.Replace여러 번 호출하여 교체 문자열에 줄 바꿈이 포함되어 있으면 실패합니다 .

다음은 정규 표현식을 사용하여 세 번의 교체를 모두 한 번에 문자열로 전달하는 솔루션입니다. 이는 교체 문자열에 줄 바꿈이 안전하게 포함될 수 있음을 의미합니다.

string result = Regex.Replace(input, @"\r\n?|\n", replacementString);


답변

The.Anyi.9의 답변을 확장하려면 일반적으로 사용 되는 다른 유형의 줄 바꿈 도 알고 있어야 합니다 . 파일의 출처에 따라 모든 대안을 찾아야 할 수도 있습니다 …

string replaceWith = "";
string removedBreaks = Line.Replace("\r\n", replaceWith).Replace("\n", replaceWith).Replace("\r", replaceWith);

당신이 갈 것입니다 …


답변

문자열에 줄 바꿈을 삽입하고 싶지만 문자열에서 줄 바꿈을 모두 제거하지 않으려는 경우 Environment.Newline을 사용합니다.

플랫폼에 따라 다른 유형의 개행을 가질 수 있지만 동일한 플랫폼 내에서도 종종 다른 유형의 개행이 사용됩니다. 특히 파일 형식과 프로토콜을 다룰 때.

string ReplaceNewlines(string blockOfText, string replaceWith)
{
    return blockOfText.Replace("\r\n", replaceWith).Replace("\n", replaceWith).Replace("\r", replaceWith);
}


답변

코드가 다른 환경에서 실행되어야하는 경우 Environment.NewLine상수 newline는 특정 환경에서 사용 되기 때문에 상수를 사용하는 것이 좋습니다.

line = line.Replace(Environment.NewLine, "newLineReplacement");

그러나 다른 시스템에서 생성 된 파일에서 텍스트를 가져 오면 정답이 아닐 수 있으므로 다른 시스템에서 사용되는 줄 바꿈 상수로 바꾸어야합니다. 일반적으로 \n또는 \r\n입니다.


답변

replace는 문자열에서 교체를 수행하지 않지만 문자가 교체 된 새 문자열을 반환한다는 것을 잊지 마십시오. 다음은 줄 바꿈을 제거합니다 (바꾸지 않음). @Brian R. Bondy의 방법을 확장 방법으로 싸서 다른 것으로 대체하는 경우 사용합니다. Replace 또는 제공된 확장 메서드를 호출하기 전에 먼저 null 값을 확인해야합니다.

string line = ...

line = line.Replace( "\r", "").Replace( "\n", "" );

확장 방법으로 :

public static class StringExtensions
{
   public static string RemoveLineBreaks( this string lines )
   {
      return lines.Replace( "\r", "").Replace( "\n", "" );
   }

   public static string ReplaceLineBreaks( this string lines, string replacement )
   {
      return lines.Replace( "\r\n", replacement )
                  .Replace( "\r", replacement )
                  .Replace( "\n", replacement );
   }
}


답변

가능한 모든 줄 바꿈 방법 (Windows, Mac 및 Unix)을 바꾸려면 다음을 사용해야합니다.

string.Replace("\r\n", "\n").Replace('\r', '\n').Replace('\n', 'replacement');

이 순서대로 줄 끝 문자 조합을 찾을 때 줄 바꿈을 추가하지 않기 위해.