Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

JavaScript 문자열에서 텍스트를 제거하는 방법 – substring과 replace 완벽 가이드

JavaScript에서 문자열(String)의 특정 텍스트를 제거해야 할 때가 자주 있습니다. 이럴 때 활용할 수 있는 대표적인 방법으로 substringreplace 두 가지 메서드가 있습니다. 각각의 사용법을 예제 코드와 함께 살펴보겠습니다.

1. substring으로 텍스트 제거하기

JavaScript의 문자열 객체는 주어진 문자열에서 원하는 부분만 잘라내는 substr() 메서드를 제공합니다. 시작 위치와 길이를 지정하여 문자열의 앞쪽, 뒤쪽 또는 양쪽 끝의 텍스트를 손쉽게 제거할 수 있습니다.

문법

str.substr(start[, length])
  • start: 추출을 시작할 인덱스 위치 (0부터 시작)
  • length (선택 사항): 추출할 문자의 개수. 생략하면 문자열 끝까지 추출됩니다.

예제 코드

let a = 'Hello world'
console.log(a.substr(0, 5))
console.log(a.substr(6))
console.log(a.substr(4, 3))

실행 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

Hello
world
o w

첫 번째 출력은 인덱스 0부터 5개의 문자('Hello')를, 두 번째는 인덱스 6부터 끝까지('world')를 추출한 결과입니다. 즉, 필요 없는 부분을 잘라내고 나머지 텍스트만 남기는 방식으로 텍스트 제거가 가능합니다.

참고: substr()은 최신 JavaScript 표준(ECMAScript)에서 더 이상 권장되지 않는(deprecated) 메서드입니다. 새로운 프로젝트에서는 동일한 기능을 하는 slice()substring() 사용을 권장합니다. 예를 들어 a.slice(0, 5)a.substr(0, 5)와 같은 'Hello'를 반환합니다.

2. replace로 텍스트 제거하기

replace() 메서드는 문자열에서 지정한 부분 문자열을 찾아 다른 문자열로 교체합니다. 교체 대신 빈 문자열("")을 넣으면 해당 텍스트가 그대로 삭제되는 효과를 얻을 수 있습니다.

문법

str.replace(old, new)
  • old: 찾아서 제거할 문자열
  • new: 교체할 문자열 (빈 문자열을 넣으면 삭제)

예제 코드

let a = 'Hello world'
console.log(a.replace(" world", ""))
console.log(a.replace("Hello ", ""))
console.log(a.replace("o w", ""))

실행 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

Hello
world
hellorld

' world'를 빈 문자열로 교체하면 'Hello'만 남고, 'Hello '를 제거하면 'world'만 남습니다. 세 번째 예시처럼 문자열 중간에 있는 텍스트도 제거할 수 있어 매우 유연합니다.

정규식으로 모든 일치 항목 제거하기

replace()는 기본적으로 첫 번째로 발견된 문자열만 교체합니다. 동일한 텍스트가 여러 번 등장할 경우 정규식과 g(global) 플래그를 함께 사용하면 됩니다.

let b = 'apple banana apple'
console.log(b.replace(/apple/g, "")) // ' banana '

마무리

정리하면, 문자열의 앞뒤 특정 위치 기준으로 텍스트를 제거할 때는 substr()(또는 권장되는 slice(), substring())을, 특정 단어나 구문을 찾아 삭제하고 싶을 때는 replace()를 사용하는 것이 좋습니다. 두 방법을 상황에 맞게 조합하면 대부분의 문자열 처리 작업을 깔끔하게 해결할 수 있습니다.