TIL 20221013 - 111번(replace, repeat)

hoin_lee·2022년 10월 13일
0

TIL

목록 보기
75/236

오늘 나오다가 새끼 발가락을 찍었더니 너무 아팠지만~ 알고리즘 문제도 풀었고 JS문법도 연습했고
React 강의도 들었다.
한가지 아쉬웠던 건 react 강의 듣는데 과제 순서라 많이 진도를 못나간 게 아쉬웠다.
내일은 순서를 바꿔서 알고리즘 문제를 풀고 react강의 js문법 정리 순으로 해봐야 겠다.

오늘공부

알고리즘 문제 풀기(프로그래머스)
https://github.com/hoinlee-moi/algorithm_prac
오늘은 앞서 배우고 복습했던 문법들로 대부분 풀 수 있었다!

JS기본문법 다시 공부
https://github.com/hoinlee-moi/ModernJS

React 강의 듣기

알고리즘 풀면서 다시 문법 짚고 가기

replace()

어떤 패턴에 일치하는 일부 또는 모든 부분이 교체된 새로운 문자열을 반환.
그 패턴은 문자열이나 정규식이 될 수 있으며, 교체 문자열은 문자열이나 모든 매치에 대해서 호출된 함수일 수 있다.

const p = 'The quick brown fox jumps over the lazy dog. If the dog reacted, was it really lazy?';

console.log(p.replace('dog', 'monkey'));
// expected output: "The quick brown fox jumps over the lazy monkey. If the dog reacted, was it really lazy?"


const regex = /Dog/i;
console.log(p.replace(regex, 'ferret'));
// expected output: "The quick brown fox jumps over the lazy ferret. If the dog reacted, was it really lazy?"

var newStr = str.replace(regexp|substr, newSubstr|function)
구문으로

  • regexp(pattern)
    정규식 또는 리터럴. 일치하는 항목은 newSubStr또는 지정된 함수가 반환 한 값으로 대체

  • substr(pattern)
    newSubStr 로 대체될 String. 정규식이 아닌 글자 그대로의 문자열로 처리된다. 오직 첫 번째 일치되는 문자열만이 교체

  • newSubStr (replacement)
    첫번째 파라미터를 대신할 문자열(String). 여러가지 대체 패턴들이 지원

  • function (replacement)
    주어진 regexp 또는 substr에 일치하는 요소를 대체하는 데 사용될 새 하위 문자열을 생성하기 위해 호출되는 함수.

replace를 이용해 문자열에서 숫자 추출하기

let str = '1234JavaScript56789!!0';
let regex = /[^0-9]/g;
let result = str.replace(regex, "")
console.log(result) // 1234567890

[ regex = /[^0-9]/g; ] 에 대한 해석은 아래와 같다.

  • /[^0-9]/g : 0~9까지의 숫자(=모든숫자)

  • /[^0-9]/g : ^뒤에 나오는 패턴을 부정

  • /[^0-9]/g : 안의 패턴을 매칭

  • /[^0-9]/g : 매칭된 패턴에 대한 전체 검색

repeat()

문자열을 주어진 횟수만큼 반복해 분인 새로운 문자열을 반환

  • 구문
    str.repeat(count)

count
문자열을 반복할 횟수. 0과 양의 무한대 사이의 정수([0, +∞)).

'abc'.repeat(-1);   // RangeError
'abc'.repeat(0);    // ''
'abc'.repeat(1);    // 'abc'
'abc'.repeat(2);    // 'abcabc'
'abc'.repeat(3.5);  // 'abcabcabc' (count will be converted to integer)
'abc'.repeat(1/0);  // RangeError

({ toString: () => 'abc', repeat: String.prototype.repeat }).repeat(2);
// 'abcabc' (repeat() is a generic method)
profile
https://mo-i-programmers.tistory.com/

0개의 댓글