자바스크립트 특정 문자열 제거 (replace, slice, split, substring)

원본: 자바스크립트에서 문자열 제거 방법

자바스크립트의 문자열은 기본 자료형으로 작은따옴표(‘), 큰따옴표(“), 백틱(`)으로 묶인 일련의 문자를 가집니다.

문자열은 수정할 수 없습니다(immutable). 즉, 문자열을 변경하려면 원래 문자열은 놔두고 새 문자열을 만들게 됩니다.

문자열을 조작해주는 빌트인 메소드로 문자열을 수정하고 변환할 수 있으며, 이는 더 적은 코드로 작업을 더 쉽게 만듭니다.

문자열을 조작하는 작업 중 하나는 문자열에서 문자를 제거하는 것입니다.

문자열 제거 방법은 다음의 메소드를 사용하는 것 입니다:

이제 하나하나 살펴보겠습니다.

replace() 메소드로 특정 문자열 제거

이 메소드는 치환 문자열을 사용하여 새 문자열을 리턴하고 두 개의 매개변수를 받습니다.

첫 번째 매개변수는 찾을 문자이고 두 번째 매개변수는 대체할 문자입니다.

replace() 메소드를 사용하여 문자를 제거하려면 두 번째 매개변수를 빈 문자열로 바꿉니다.

문법 구문은 다음과 같습니다:

nameOfstring.replace('characterToBeReplaced', 'newCharacter');

다음 예제를 개발자 도구에서 확인해 보겠습니다:

const str = "Hello World";
const repStr = str.replace("H", "B");
const newStr = str.replace("W", "");

console.log(repStr);
console.log(newStr);
replace() 메소드로 문자열 제거

console.log() 메소드를 사용하여 repStr과 newStr을 출력해보면 검색할 문자를 대체할 문자로 변경한 것을 확인할 수 있습니다.

replace() 메소드와 정규 표현식

이 메소드에는 정규 표현식을 사용할 수 있습니다.

전역 속성인 g를 사용하여 정규 표현식을 전달합니다. 이 방법을 사용하면 해당하는 문자열을 모두 제거할 수 있습니다.

nameOfstring.replace( /regularExpression/g, "");

다음의 예제로 정규 표현식을 사용하는 방법을 알아보겠습니다:

const str = "The day is bright, it's bright and fair.";
const repStr = str.replace(/bright/g, "amazing");
const remStr = str.replace(/bright/g, "");

console.log(repStr);
console.log(remStr);
정규 표현식 사용 예제

위의 예제에서는 원본 문자열에서 bright를 모두 검색해 제거했습니다.

slice() 메소드로 특정 문자열 제거

slice() 메소드는 문자열의 일부를 추출합니다.

startIndex, endIndex 라는 두 개의 매개변수를 사용하고 두 매개변수 사이의 문자열을 리턴합니다.

메소드의 문법 구문은 다음과 같습니다:

nameOfString.slice(startIndex, endIndex);

다음은 인덱스를 사용하여 문자열을 제거하는 예제입니다:

const subject = "mathematics";

const text1 = subject.slice();
console.log(text1); // mathematics

const text2 = subject.slice(2);
console.log(text2); // thematics

const text3 = subject.slice(1, 3);
console.log(text3);  // at

const text4 = subject.slice(-3);
console.log(text4);  // ics

const text5 = subject.slice(2, subject.length-1);
console.log(text5);
slice() 메소드로 문자열 제거

slice() 메소드에 매개변수를 지정하지 않으면 그냥 원본 문자열의 복사본을 리턴합니다.

startIndex만 전달할 경우 해당 인덱스에서 부터 원본 문자열의 끝까지의 하위 문자열을 리턴합니다.

매개변수를 둘 다 전달하면 해당 인덱스 사이의 값을 리턴합니다. 여기서 매개변수를 음수로 전달하면 문자열의 끝에서 부터 인덱스를 계산합니다.

split() 메소드로 특정 문자열 제거

split() 메소드는 구분 기호를 받아 문자열을 하위 문자열로 나눕니다

다음은 메소드의 문법 구문입니다:

nameOfString.split(separator, limit);

실제 사용 예제도 알아보겠습니다:

const str = "Hello World class developer";
const text1 = str.split(" ");
const text4 = str.split(" ",2);

console.log(text1);
console.log(text4);
split() 메소드로 문자열 제거

변수 text1에서는 구분 기호를 ” ” 공백으로 전달해 원본 문자열에서 공백이 있는 부분을 기준으로 쪼갰습니다.

text4에서는 갯수를 지정해 앞에서 두 번째 문자열까지만 쪼갰습니다.

substring() 메소드로 특정 문자열 제거

substring() 메소드는 startIndex에서 부터 endIndex 까지의 문자를 추출합니다. (끝 인덱스의 문자는 제외)

nameOfString.substring(startIndex, endIndex);

예제 코드를 보겠습니다:

const str = "Hello, World";
const text1 = str.substring(0,4);
const text2 = str.substring(7);
const text3 = str.substring(5,2);
const text4 = str.substring(2,5);
const text5 = str.substring(-2);

console.log(text1);
console.log(text2);
console.log(text3);
console.log(text4);
console.log(text5);
substring() 메소드로 문자열 제거

시작과 끝의 인덱스를 지정하여 특정 문자열을 제거할 수 있습니다.

관련 글

자바스크립트 튜토리얼