[Javascript] 문자열 마지막 문자 제거
문자열의 마지막 문자를 제거하는 방법에 대해서 알아보겠습니다.
예를 들어, 가끔 문자열 끝에 ,
가 있는 경우, 마지막 문자를 제거하여 깔끔하게 만들고 싶을 때가 있습니다. 이럴 때 사용할 수 있습니다.
1. substring()을 이용한 방법
substring(start, end)
는 문자열에서 start Index를 포함하고, end를 포함하지 않는 범위의 문자열을 잘라서 리턴합니다.
즉, str.substring(0, str.length - 1)
는 Index 0에서 문자열 마지막 문자 이전까지 잘라서 문자열로 리턴하며, 이렇게 마지막 문자를 제거할 수 있습니다.
let str = "Hello, World,";
let newStr = str.substring(0, str.length - 1);
console.log(newStr); // "Hello, World"
Output:
Hello, World
2. slice()를 이용한 방법
slice()도 substring()과 동일하게 특정 범위 Index의 문자열을 잘라서 리턴합니다. 약간의 차이점이 있는데, slice의 경우 음수 범위의 Index를 입력할 수 있으며, -1은 문자열 끝 바로 이전의 Index로 사용할 수 있습니다.
let str = "Hello, World,";
let newStr = str.slice(0, -1);
console.log(newStr); // "Hello, World"
Output:
Hello, World
slice와 substring의 차이점은 JavaScript - substring()과 slice()의 차이점을 참고해주세요.
3. 정규표현식을 이용한 방법
replace(pattern, repl)
은 문자열에서 정규표현식 pattern에 해당하는 내용을 repl로 변경합니다.
- 아래 예제에서
.$
패턴은 문자열 끝 바로 앞의 문자 1개를 의미 ($
가 문자열 끝을 의미,.
는 문자 1개 의미) str.replace(/.$/, "")
: 문자열 마지막 문자를""
로 교체하여 제거
let str = "Hello, World,";
let newStr = str.replace(/.$/, "");
console.log(newStr); // "Hello, World"
Output:
Hello, World
4. 마지막 문자가 특정 문자인 경우만 제거
아래 예제는 마지막 문자가 ,
일 때 이 문자를 제거하며, 다른 문자인 경우 제거하지 않습니다.
endsWith(str)
은 문자열이 str로 끝날 때 true를 리턴하며, 이렇게 특정 문자로 끝나는 경우에만 위에서 사용한 방법으로 마지막 문자열을 제거할 수 있습니다.
let str = "Hello, World!";
if (str.endsWith(",")) {
str = str.slice(0, -1);
}
console.log(str); // "Hello, World!"
str = "Hello, World,";
if (str.endsWith(",")) {
str = str.slice(0, -1);
}
console.log(str); // "Hello, World"
Output:
Hello, World!
Hello, World
정규표현식을 이용한 방법
정규표현식의 패턴에 특정 문자를 입력하면, 그 문자로 끝나는 경우에만 replace()
가 ""
로 변경하여 문자를 제거할 수 있습니다.
let str = "Hello, World!";
str = str.replace(/,$/, "");
console.log(str); // "Hello, World!"
str = "Hello, World,";
str = str.replace(/,$/, "");
console.log(str); // "Hello, World"
Output:
Hello, World!
Hello, World