외워두면 유용한 JS 문법 2 - 문자열

sehannnnnnn·2022년 6월 10일
0

대문자 -> 소문자로 변환

str = "Hello"
let lstr = str.toLowerCase(); => 문자열 내 대문자를 소문자로 변환
let ustr = str.toUpperCase(); => 문자열 내 소문자를 대문자로 변환

정규표현식 사용법 정리

주로 텍스트의 유효성을 검사하거나 내부에 포함되어 있는 것을 replace, split 과 함께 쓴다.
정규 표현식의 형식은 /패턴/플래그 와 같이 쓴다. 패턴은 검색할 내용, 플래그는 검색할 옵션을 말한다.

  • 정규표현식 매칭 패턴
패턴설명
a-z, A-Z영어 알파벳
ㄱ-ㅎ한글문자
0-9숫자
.모든 문자열
\d숫자
\D숫자가 아닌것
\w영어 알파벳, 숫자, 언더스코어
\W/w 가 아닌것
\sspace 공백
\Sspace 공백이 아닌 것
\특수 기호특수기호
  • 정규표현식 검색 패턴
기호설명
[]괄호 문자들 중 하나
[^문자]괄호 문자들 제외한 것
^문자열문자열로 시작하는 것
문자열$특정 문자열로 끝나는 것
or 기호OR
  • 정규표현식 개수 패턴
기호설명
?최대 한번
*있거나 없거나
+최소 한개라도 있으면
{n}n개
{Min,}최소 min개 이상
{,Max}최소 max개 이상
{Min, Max}min개 이상, Max개 이하
  • 정규표현식 플래그
플래그의미
gGlobal 모든 문자 검색(안쓰면 매칭되는 첫 문자만 검색)
i대소문자 구분 안함
m여러 행의 문자열에 대해 검색

정규식 예시 문제

카카오 2021 코딩테스트 : 신규아이디 추천

https://programmers.co.kr/learn/courses/30/lessons/72410?language=javascript

  1. 대소문자 치환
new_id.toLowerCase();
  1. 알파벳 소문자, 숫자, 빼기(-), 밑줄(_), 마침표(.)를 제외한 모든 문자를 제거
new_id.replace(/[^/w-_.]/g, "")
  1. 마침표(.)가 2번 이상 연속된 부분을 하나의 마침표(.)로 치환합니다
new_id.replace(/\.{2,}/g,".")'

4.마침표(.)가 처음이나 끝에 위치한다면 제거합니다.

new_id.replace(/^\.|\.$/g, "")
  1. 빈 문자열이라면, new_id에 "a"를 대입합니다.
new_id.replace(/^$/,'a')
  1. new_id의 길이가 16자 이상이면, new_id의 첫 15개의 문자를 제외한 나머지 문자들을 모두 제거합니다. 만약 제거 후 마침표(.)가 new_id의 끝에 위치한다면 끝에 위치한 마침표(.) 문자를 제거합니다.
new_id.splice(0,15).replace(/\.$/g,"")
  1. new_id의 길이가 2자 이하라면, new_id의 마지막 문자를 new_id의 길이가 3이 될 때까지 반복해서 끝에 붙입니다.
const len = answer.length;
    return len > 2 ? answer : answer + answer.charAt(len - 1).repeat(3 - len);
  • .charAt() 해당 문자열의 인덱스에 해당하는 char 반환
  • repeat() 문자열을 반복하여 붙힌 다음 새로운 문자열을 반환함
profile
FE 개발자 준비생 블로그 🪐

0개의 댓글