프로그래밍/Javascript
[JavaScript] replace - 정규식으로 줄바꿈 지우기
@코린이
2023. 3. 15. 23:03
회사 서비스에서 로그를 확인하던 중
로그가 한번에 보이는 게 아니라 줄바꿈이 되어 칸마다 다르게 보여 불편했다.
var msg = `🚀${prData["user"]["login"]} 가 PR 리뷰를 요청하였습니다.🚀\n`
msg += ` - 프로젝트: ${body["repository"]["full_name"]} \n`
msg += ` - PR: ${prData["html_url"]} \n`
msg += ` - 제목: ${prData["title"]} \n`
msg += ` - 내용: ${prData["body"]} \n`
console.log(`message :: ${msg}`)
이러면 로그가 한줄로 보일 줄 알았는데.. 줄바꿈마다 표로 따로 나와서 매우 불편했다.
서비스팀에 문의하니 여러 의견이 있었으나 줄바꿈은 따로 보여준다. 가 정책이라고 하여 수정하기로 했다.
console.log(`message :: ${msg.replace('\n', "")}`)
단순하게 내가 적은 \n 만 없애면 될 줄 알았더니 첫 줄만 합쳐져서 나왔다(?)
줄바꿈은 일반적으로 \r\n , \n , \r 이렇게 세가지 방식이 있다.
첫번째는 (\r\n) 이고, 대부분 윈도우 컴퓨터에서 만들어진다.
두번째는 리눅스에서 만들어진 (\n) 이고,
마지막 세번째는 맥(애플)에서 만들어진 (\r) 가 있다.
줄바꿈에는 여러가지 방식이 있는데, 내가 직접 쓴 건 "\n" 이지만, 자동적으로 바뀐 것 같다.
그래서 정규식을 이용하여 수정했다.
console.log(`makeMsg:: ${msg.replace(/(\r\n|\n|\r)/gm, "")}`)
// g: 모든 문자 검색(안쓰면 검색되는 순간 끝남)
// m: 여러행 문자열 검색
완성!
참고: https://www.textfixer.com/tutorials/javascript-line-breaks.php
Text Fixer - Free Online HTML Tools
Online HTML tools for converting, changing and modifying text and html code.
www.textfixer.com