자바스크립트에서 문자열의 마지막 문자를 제거하기 위해서는 다양한 방법이 있겠지만, 문자열 자르기 함수를 사용하는 방법과 replace() 함수를 사용하여 문자열의 마지막에 특정 문자가 존재할 경우 치환하여 제거하는 방법이다. 아래의 두 가지 방법을 기억해 두면 유용하게 사용할 수 있다.
|
아래의 예제는 문자열의 마지막 쉼표(", ")를 제거하는 방법이다.
문자열 자르기 함수를 사용하여 마지막 문자 제거
var str = 'HTML,CSS,JavaScript,';
str = str.slice(0, -1);
// 결과 : "HTML,CSS,JavaScript"
var str = 'HTML,CSS,JavaScript,';
str = str.substr(0, str.length - 1);
// 결과 : "HTML,CSS,JavaScript"
var str = 'HTML,CSS,JavaScript,';
str = str.substring(0, str.length - 1);
// 결과 : "HTML,CSS,JavaScript"
위의 세가지 방법 중 slice(0, -1)이 가장 심플한 방법 같다. 그러나 자신에게 맞는 방법을 사용하면 된다. 위의 방법은 마지막 문자가 모두 존재할 경우만 사용할 수 있으며, 마지막 문자가 있을 수도 있고 없을 수도 있다면 문자열이 잘못 제거될 수도 있다.
특정 문자가 문자열의 마지막에 존재할 경우만 제거하고 싶다면 아래의 replace() 함수로 제거하는 것이 효율적이다.
replace() 함수를 사용하여 마지막 문자 제거
var str = 'HTML,CSS,JavaScript,';
str = str.replace(/,$/, '');
// 결과 : "HTML,CSS,JavaScript"
replace() 함수의 정규식을 사용하여 문자열의 마지막($)에 쉼표(", ")가 존재할 경우 쉼표를 제거하고 존재하지 않으면 마지막 문자를 제거하지 않는 방법이다.
var str = 'HTML, CSS, JavaScript, ';
str = str.replace(/,\s*$/, '');
// 결과 : "HTML, CSS, JavaScript"
위의 예제는 문자열의 마지막에 쉼표와 공백(\s)이 함께 존재할 경우 쉼표와 공백 모두를 제거하는 방법이다. 쉼표만 있는 경우, 쉼표 + 공백이 존재하는 경우 모두 제거하는 방법이다.
/ : 정규식의 시작과 끝 \s : 공백 * : 있을수도 있고 없을 수도 있고, 여러개가 있을수도 있음 $ : 문자열의 마지막 |