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

我看了一下trim,但它看起来只是在修剪空白和切片,我不知道这是如何工作的。有什么建议吗?


当前回答

这里有一个我认为在其他答案中没有看到的替代方案,只是为了好玩。

var strArr=“您好,我是字符串”.split(“”);strArr.pop();document.write(strArr.join(“”));

不像切片或子字符串那样清晰或简单,但允许您使用一些不错的数组方法来处理字符串,因此值得了解。

其他回答

使用JavaScript的切片函数:

let string='foo_bar';string=string.spice(0,-4);//在此处切下最后四个字符console.log(字符串);

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

使用子字符串获取_bar左侧的所有内容。但首先必须在字符串中获取_bar的instr:

str.substring(3, 7);

3是起点,7是长度。

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

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

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

但是,如果要有条件地删除最后四个字符,则仅当它们完全是_bar时:

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

实际上,您可以使用arr.length=2删除数组的最后arr.length-2项,如果数组长度为5,则会删除最后3项。

遗憾的是,这不适用于字符串,但我们可以使用split()拆分字符串,然后在进行任何修改后使用join()连接字符串。

var str='字符串'String.prototype.removeLast=函数(n){var string=this.split(“”)string.length=字符串长度-n返回字符串join(“”)}console.log(str.removeLast(3))

如果要删除接近字符串末尾的内容(对于大小可变的字符串),可以将slice()和substr()组合起来。

我有一个动态构建的带有标记的字符串,其中有一个用逗号分隔的锚标记列表。字符串类似于:

var str = "<a>text 1,</a><a>text 2,</a><a>text 2.3,</a><a>text abc,</a>";

要删除最后一个逗号,我执行了以下操作:

str = str.slice(0, -5) + str.substr(-4);