**方案一:substring 方法**
JavaScript 提供了 `substring` 函数用于提取子串,在此处我们可以利用它来删除原字符串的末尾字符:
javascript
function removeLastChar(str) {
if (str && str.length > 0) {
return str.substring(0, str.length - 1);
}
// 如果输入为空或长度为零,则直接返回原始值
return str;
}
let myString = "Hello World!";
console.log(removeLastChar(myString)); // 输出:"Hello Worl!"
此函数首先检查给定字符串是否存在并且不为空(即其 length 大于 0),然后通过 substring 截取从第一个到倒数第二个位置的所有字符形成新的字符串并返回。
**方案二:slice 方法**
与 `substring()` 类似但更为灵活的是 `slice()` 方法,也可以用来移除最后一位字符:
javascript
function removeLastCharUsingSlice(str) {
if (str && str.length > 0) {
return str.slice(0, -1);
}
return str;
}
let anotherString = "Goodbye Universe!";
console.log(removeLastCharUsingSlice(anotherString)); // 输出:"Goodbye Universe"
这里 `-1` 表示“当前数组/字符串长度减去 1”,因此会跳过最后一个元素从而达到删掉最后一字的效果。
**方案三:replace 方法结合正则表达式**
另外还可以借助强大的 replace() 方法配合全局匹配模式以及空替换符 '' 实现同样的目的:
javascript
function removeLastCharWithReplace(str) {
if (str) {
return str.replace(/.$/, '');
}
return str;
}
var yetAnotherString = 'End of Line.';
console.log(removeLastCharWithReplace(yetAnotherString)); // 输出:“End of Lin”
// 此处 . 匹配任意单个非换行符字符,并 $ 表示以该字符结尾的位置。
以上三种方式均能有效地实现在JavaScript环境中去掉字符串的最后一字符的需求,开发者可以根据实际应用场景及个人偏好选择合适的方式。当然,请注意这些方法都不会改变原有字符串的内容,而是生成一个新的没有结束字符的新字符串作为结果输出。这是因为在 JS 中,字符串被视为不可变对象。