-
[JavaScript] 문자 개행 처리 / 줄바꿈 처리 ('\n', 개행문자) / replace💡 개발 이슈와 해결/📚 누군가를 위한 기록 2021. 12. 24. 14:47
개행문자 : 컴퓨터에서 줄바꿈을 나타내는 제어문자
개행이 \n으로 넘어오는 경우가 생깁니다.
이럴 경우에는 HTML 화면에 개행이 안되는 경우가 있는데요.
아래와 같이 해당 부분을 변경 하면 됩니다.
str = str.replace(/(?:\r\n|\r|\n)/g, '<br />');
문제
데이터를 보여주는데, 줄바꿈이 되지 않아서 원인을 분석하였습니다.
원인
개발자 도구에 Console에
console.log(agentData);로 확인해보니 사용하고자 하는 REMARK에 '\r\n\r\n' 가 들어가서 개행 처리가 필요했습니다.
해결
{agentData ? <>{agentData.REMARK}</> : <TextLoading />}
{agentData ? ( <> {agentData.REMARK.replace(/(?:\r\n\r\n|\n\n)/g, '\r\n') .split('\r\n') .map(item => ( <p key={item}> {item} </p> ))} </> ) : ( <TextLoading /> )}
.replace를 사용하고,
.split를 통해 문자열을 구분하였고,
.map을 통해 callback 함수를 각각의 요소에 대해 한번씩 순서대로 불러
그 함수의 반환값으로 새로운 배열을 만들어서 처리하였습니다.
String.prototype.replace() - JavaScript | MDN
replace() 메서드는 어떤 패턴에 일치하는 일부 또는 모든 부분이 교체된 새로운 문자열을 반환합니다. 그 패턴은 문자열이나 정규식(RegExp)이 될 수 있으며, 교체 문자열은 문자열이나 모든 매치
developer.mozilla.org
String.prototype.split() - JavaScript | MDN
split() 메서드는 String 객체를 지정한 구분자를 이용하여 여러 개의 문자열로 나눕니다.
developer.mozilla.org
Array.prototype.map() - JavaScript | MDN
map() 메서드는 배열 내의 모든 요소 각각에 대하여 주어진 함수를 호출한 결과를 모아 새로운 배열을 반환합니다.
developer.mozilla.org
추가로...
[픽업 시]와 [반납 시]와의 세로 간격은 CSS의 선택자 :nth-child(2n) (= 두번째 마다 선택)를 사용해서 넓혀 줬습니다.
반응형'💡 개발 이슈와 해결 > 📚 누군가를 위한 기록' 카테고리의 다른 글
[PowerShell] yarn : 이 시스템에서 스크립트를 실행할 수 없으므로 C:\Users\user\AppData\Roaming\npm\yarn.ps1 파일을 로드할 수 없습니다. (0) 2022.09.27 Apple에서 악성 소프트웨어가 있는지 확인할 수 없기 때문에 열 수 없습니다 (0) 2022.06.18 XSS(Cross-Site Scripting) 보안 취약점 (0) 2022.01.20 Uncaught ReferenceError: Cannot access 'OOO' before initialization (0) 2021.12.28 [iOS] iOS 15 버전에서 웹뷰 화면 개발 시, a태그나 button태그로 작업한 글자의 색이 파란색으로 나오는 문제 (0) 2021.12.02