TIL 20220815 - 84번 (replace, 문자열)

hoin_lee·2022년 8월 15일
0

TIL

목록 보기
49/236

오늘 휴일을 맞아 아침 일찍 기상, 운동 후 부모님을 모시고 조조영화를 보러 갔다가 밥도 먹고 카페도 가고 오랜만에 가게를 쉬면서 외출을 하고 왔는데.. 오랜만이라 그런지 오후 쯤 바로 기진맥진 해서 집에 도착하자마자 기절했다.
더구나 햇빛 알레르기도 있어서 팔에 두드러기는 보너스로 달고 왔는데 그래도 꽤 좋은 리프레쉬였고 만족스러운 휴일이었다.

오늘은 외출로 인해 공부는 못했지만 지키기로 한 알고리즘 문제는 꾸역꾸역 컴퓨터를 켜 풀었다.
문자열 문제였고 비록 난이도는 하 였지만 console.log로 하나하나 찍어가며 문제를 풀어보며 아 이 문법은 이런식으로 동작하는구나 하는 걸 많이 느꼈고 결국 이번엔 풀이나 해설과정 없이 정답을 맞출 수 있었다.
그 과정에서 예전에 배웠지만 또 까먹은 문자열 제거 문법들이 있었는데 정리하자면

substring(), slice(), replace()

이 중 replace() 함수는 문자열을 대체하는 기능을 가졌지만, 특정 문자열을 빈 값(" ")으로 대체함으로써 제거하는 방법으로 사용할 수 있다.

substring()

substring() 함수는 특정 위치에서 시작하여 특정 인덱스 전까지 문자열을 반환

str.substring(indexStart, indexEnd)
  • str : 주어지는 문자열
  • indexStart : 추출하고자 하는 문자열의 시작 인덱스
    • 0보다 작을 경우 0으로 처리
    • 문자열이 길이보다 큰 값이면 문자열의 길이로 처리되어 substring()함수는 빈 값을 반환
  • indexEnd(생략가능) : 설정된 값의 이전 인덱스까지 문자열 추출,생략시 마지막 인덱스까지

substring함수는 첫 번째 매개변수가 두 번째 매개변수보다 큰 경우, 두 매개변수의 값을 교체한 것처럼 동작

slice()

slice()함수는 인덱스 범위로 문자열을 자른다는 개념

str.substring(indexStart, indexEnd)
  • indexStart : 추출하고자 하는 문자열의 시작 인덱스
    • 0보다 작을 경우 문자열의 길이 + indexStart의 결과값으로 설정
    • 문자열이 길이보다 크거나 같으면, 빈값을 반환
  • indexEnd(생략가능) : 설정된 값의 이전 인덱스까지 문자열을 추출,생략시 마지막 인덱스까지
    • 0 보다 작을 경우 문자열의 길이+ indexEnd의 결과값으로 설정

substring 과 slice 차이점
매개변수의 값이 음수일 경우 동작되는 방식이 다름

  • substring() 함수는 첫 번째 매개변수가 두 번째 매개변수보다 클 경우 값을 교환하여 동작
  • slice() 함수는 첫 번째 매개변수가 두 번째 매개변수보다 클 경우 빈 값을 반환
  • substring() 함수는 첫 번째 매개변수가 음수일 경우 0으로 처리
  • slice() 함수는 첫 번째 매개변수가 음수일 경우 문자열의 길이 + 첫 번째 매개변수의 결과값으로 설정

replace()

replace() 함수는 정규식을 만족하거나 특정 문자열이 존재할 경우 원하는 문자열로 대체 가능

const str = 'ABCDEF';

// 문자열 'A'를 빈 값으로 대체
console.log(str.replace('A', ''));
// BCDEF

// 문자열 'F'를 빈 값으로 대체
console.log(str.slice('F', ''));
// ABCDE

출처 : https://developer-talk.tistory.com/178

오늘 한 일

알고리즘 문제 풀기 (문자열 관련)
포트폴리오 내가 맡은 기능 부분 어떻게 완성하였는지 어떤 문제가 있었는지 추가
(내일은 꼭 트러블 슈팅 관련 수정하자!)

profile
https://mo-i-programmers.tistory.com/

0개의 댓글