반응형
줄바꿈을 처리할 때, 캐리지리턴이나 라인피드 문자로 처리하게 되는데,
이는 문자열을 다루는 프로그램마다 각기 방식이 다르다.
캐리지리턴 : \r
라인피드 : \n
일반적으로 \r\n 은 DOS/Windows 에서 줄바꿈을 처리할 때 사용하는 방식이고,
\n 은 Unix, C, Perl 등에서 줄바꿈에 사용하는 개행문자이다.
Flex에서 TextArea는 특이하게도 \r만으로도 개행을 시행하는데, 물론 \n만으로도 개행이 가능하다.
\r\n 은 두 줄을 띄워버린다.
따라서, Dos/Windows 프로그램으로 작성한 글을 받아서 TextArea에 출력할 때, 한 줄 개행이 두 줄로 개행되어 버리는 증상이 발생한다.
이때는 아래와 같이 처리하여 정상적인 출력을 가능하게 할 수 있다.
var rawString:String;
textArea.text = rawString.replace(/\r\n/g, "\r");
replace 첫번째 인자는 정규표현식이다. double qoute를 넣지 말자.
두번째 인자는 바꿀 String이다.
출처:Flex 줄바꿈 처리