프로그래밍/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