我有一个字符串12345.00,我希望它返回12345.0。
我看了一下trim,但它看起来只是在修剪空白和切片,我不知道这是如何工作的。有什么建议吗?
我有一个字符串12345.00,我希望它返回12345.0。
我看了一下trim,但它看起来只是在修剪空白和切片,我不知道这是如何工作的。有什么建议吗?
当前回答
debris = string.split("_") //explode string into array of strings indexed by "_"
debris.pop(); //pop last element off the array (which you didn't want)
result = debris.join("_"); //fuse the remainng items together like the sun
其他回答
如果要删除接近字符串末尾的内容(对于大小可变的字符串),可以将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);
通过切片(indexStart,indexEnd)方法-注意,这不会更改现有字符串,而是创建一个副本并更改副本。
console.clear();
let str = "12345.00";
let a = str.slice(0, str.length -1)
console.log(a, "<= a");
console.log(str, "<= str is NOT changed");
通过正则表达式方法-注意,这不会更改现有字符串,而是创建一个副本并更改副本。
console.clear();
let regExp = /.$/g
let b = str.replace(regExp,"")
console.log(b, "<= b");
console.log(str, "<= str is NOT changed");
通过array.splice()方法->这只适用于数组,它会改变现有的数组(所以要小心这个),您需要先将字符串转换为数组,然后再转换回来。
console.clear();
let str = "12345.00";
let strToArray = str.split("")
console.log(strToArray, "<= strToArray");
let spliceMethod = strToArray.splice(str.length-1, 1)
str = strToArray.join("")
console.log(str, "<= str is changed now");
您可以使用JavaScript字符串对象的substring方法:
s = s.substring(0, s.length - 4)
它无条件地从字符串s中删除最后四个字符。
但是,如果要有条件地删除最后四个字符,则仅当它们完全是_bar时:
var re = /_bar$/;
s.replace(re, "");
使用子字符串获取_bar左侧的所有内容。但首先必须在字符串中获取_bar的instr:
str.substring(3, 7);
3是起点,7是长度。
1.(.*),多次捕获任何字符:
console.log(“字符串”.match(/(.*).$/)[1]);
2..,匹配最后一个字符,在这种情况下:
console.log(“字符串”.match(/(.*).$/));
3.$,匹配字符串的结尾:
console.log(“字符串”.match(/(.*).{2}$/)[1]);