JavaScript 截断 / 切片 / 修剪掉字符串中的最后一个字符

我有一个字符串12345.00 ,我希望它返回12345.0

我已经看过trim ,但是看起来它只是在修剪空白和slice ,我看不到它如何工作。有什么建议么?

答案

您可以使用substring函数:

let str = "12345.00";
str = str.substring(0, str.length - 1);
console.log(str);

这是公认的答案,但是根据下面的对话, 切片语法更加清晰:

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

您可以使用slice !您只需要确保您知道如何使用它即可。正号相对于开头,负号相对于结尾。

js>"12345.00".slice(0,-1)
12345.0

您可以使用 JavaScript 字符串对象的substring方法:

s = s.substring(0, s.length - 4)

它无条件删除字符串s中的最后四个字符。

但是,如果要有条件地删除最后四个字符,则只有它们恰好是 _bar

var re = /_bar$/;
s.replace(re, "");

最简单的方法是使用字符串的slice方法,该方法允许使用负位置(对应于从字符串末尾开始的偏移量):

const s = "your string";
const withoutLastFourChars = s.slice(0, -4);

如果您需要更通用的方法来删除(并包括)最后一个下划线后的所有内容,则可以执行以下操作(只要保证s至少包含一个下划线):

const s = "your_string";
const withoutLastChunk = s.slice(0, s.lastIndexOf("_"));
console.log(withoutLastChunk);

对于像您的示例这样的数字,建议您在substring执行此操作:

console.log(parseFloat('12345.00').toFixed(1));

请注意,尽管这实际上将对数字进行四舍五入,我想这是理想的,但也许并非如此:

console.log(parseFloat('12345.46').toFixed(1));

使用 JavaScript 的 slice 函数:

let string = 'foo_bar';
string = string.slice(0, -4); // Slice off last four characters here
console.log(string);

这可以用于删除任意长度的字符串末尾的 “_bar”。

正则表达式是您要查找的内容:

let str = "foo_bar";
console.log(str.replace(/_bar$/, ""));

怎么样:

let myString = "12345.00";
console.log(myString.substring(0, myString.length - 1));

尝试这个:

const myString = "Hello World!";
console.log(myString.slice(0, -1));

使用正则表达式:

let aStr = "12345.00";
aStr = aStr.replace(/.$/, '');
console.log(aStr);