我有一个字符串12345.00,我希望它返回12345.0。
我看了一下trim,但它看起来只是在修剪空白和切片,我不知道这是如何工作的。有什么建议吗?
我有一个字符串12345.00,我希望它返回12345.0。
我看了一下trim,但它看起来只是在修剪空白和切片,我不知道这是如何工作的。有什么建议吗?
当前回答
https://stackoverflow.com/questions/34817546/javascript-how-to-delete-last-two-characters-in-a-string
如果不需要空间,只需使用修剪
"11.01 °C".slice(0,-2).trim()
其他回答
您可以使用substring函数:
让str=“12345.00”;str=str.substring(0,str.length-1);console.log(str);
这是公认的答案,但根据下面的对话,切片语法更加清晰:
让str=“12345.00”;str=str.slice(0,-1);console.log(str);
1.(.*),多次捕获任何字符:
console.log(“字符串”.match(/(.*).$/)[1]);
2..,匹配最后一个字符,在这种情况下:
console.log(“字符串”.match(/(.*).$/));
3.$,匹配字符串的结尾:
console.log(“字符串”.match(/(.*).{2}$/)[1]);
尝试使用toFixed
const str = "12345.00";
return (+str).toFixed(1);
如果要删除接近字符串末尾的内容(对于大小可变的字符串),可以将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);
试试看:
<script>
var x="foo_foo_foo_bar";
for (var i=0; i<=x.length; i++) {
if (x[i]=="_" && x[i+1]=="b") {
break;
}
else {
document.write(x[i]);
}
}
</script>
您也可以在http://jsfiddle.net/informativejavascript/F7WTn/87/.