JavaScript - 마지막 문자 제거, 4가지 방법

By JS | Last updated: May 07, 2022

자바스크립트에서 문자열의 마지막 문자 1개를 제거하는 방법을 소개합니다.

예를 들어, Hello, World, JavaScript,와 같은 문자열이 있을 때, 마지막 문자 ,를 제거하여 Hello, World, JavaScript로 만들 수 있습니다.

1. slice()로 마지막 문자 제거

slice()의 Syntax는 str.slice(start, end)으로, start와 end Index를 인자로 받고 start를 포함하고 end를 포함하지 않는 문자열을 잘라서 리턴합니다.

아래와 같이 slice(0, -1) 또는 slice(0, length -1)으로 문자열의 마지막 문자를 자를 수 있습니다. end 인자로 전달된 -1은, 문자열 뒤에서 한칸 앞의 Index를 의미합니다.

const str = "Hello, World, JavaScript,";

let newStr = str.slice(0, -1);
console.log(newStr);

newStr = str.slice(0, str.length - 1);
console.log(newStr);

Output:

Hello, World, JavaScript
Hello, World, JavaScript

2. substring()으로 마지막 문자 제거

substring()slice()와 비슷한 함수입니다. str.substring(start, end)으로 start와 end Index를 인자로 받고 start를 포함하고 end를 포함하지 않는 문자열을 잘라서 리턴합니다. 차이점은 substring의 경우 end가 start보다 커야하기 때문에 위와 같은 경우에 end에 -1을 인자로 전달할 수는 없습니다.

아래와 같이 substring(0, length - 1)으로 마지막 문자를 제거할 수 있습니다.

const str = "Hello, World, JavaScript,";

const newStr = str.substring(0, str.length - 1);
console.log(newStr);

Output:

Hello, World, JavaScript

3. substr()으로 마지막 문자 제거

substr()의 Syntax는 str.substr(start , length)으로, start Index에서 length로 전달된 길이만큼 문자열을 자릅니다.

아래와 같이 문자열 길이보다 1 작은 수를 length로 전달하면 마지막 문자를 제거할 수 있습니다.

const str = "Hello, World, JavaScript,";

const newStr = str.substr(0, str.length - 1);
console.log(newStr);

Output:

Hello, World, JavaScript

4. replace()와 정규표현식으로 마지막 문자 제거

replace()와 정규표현식을 이용하여 마지막 문자를 제거할 수 있습니다. 정규표현식을 사용할 때 replace(/pattern/flags, string)처럼 인자를 받습니다.

아래 정규식 패턴을 사용하면 마지막의 ,를 제거할 수 있습니다. 패턴에서 $는 문자열의 마지막을 의미합니다. 즉, 문자열 중간에 오는 ,는 패턴과 일치하지 않고, 문자열 마지막 직전에 ,가 있을 때 패턴이 일치하여 ''로 교체됩니다. (여기서 정규식의 flags는 사용하지 않았습니다) 이렇게 마지막 문자를 제거할 수 있습니다.

const str = "Hello, World, JavaScript,";

const newStr = str.replace(/,$/, '');
console.log(newStr);

Output:

Hello, World, JavaScript

참고로, 정규식을 이용하면 아래와 같이 문자열 마지막에 특정 문자열이 올 때, 이 문자열을 제거할 수 있습니다.

const str = "Hello, World, JavaScript,";

const newStr = str.replace(/Script,$/, '');
console.log(newStr);

Output:

Hello, World, Java
Loading script...

Related Posts

codechachaCopyright ©2019 codechacha