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

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


#1楼

尝试这个:

<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/上尝试该在线示例。


#2楼

  1. (。*),多次捕获任何字符
 console.log("a string".match(/(.*).$/)[1]); 
  1. 。,匹配最后一个字符,在这种情况下
 console.log("a string".match(/(.*).$/)); 
  1. $,匹配字符串的结尾
 console.log("a string".match(/(.*).{2}$/)[1]); 

#3楼

尝试这个:

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

#4楼

 const str = "test!"; console.log(str.slice(0, -1)); 

#5楼

使用JavaScript的slice函数:

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

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


#6楼

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

#7楼

使用正则表达式:

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

#8楼

@Jason S:

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

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

对不起,我的graphomany但帖子早些时候被标记为“ jquery”。 因此, 您不能在jQuery中使用 slice() ,因为slice()是用于DOM元素而不是子字符串的jQuery方法。换句话说,答案@Jon Erickson提出了真正完美的解决方案。

但是,您的方法将无法在简单的Javascript中使用jQuery函数。 需要说的是,由于在评论中进行了最后的讨论,所以jQuery是JS的可更新扩展,而不是其父辈最著名的ECMAScript。

这里也存在两种方法:

作为我们的:

string.substring(from,to) 如加上“ to”索引为null,则返回字符串的其余部分。 所以: string.substring(from) 正或负...

另外一些-substr()-提供子字符串和'length'的范围只能是正数: string.substr(start,length)

还有一些维护者建议最后一个方法string.substr(start,length)不起作用,或者MSIE错误。


#9楼

https://jsfiddle.net/invos/w3zeqv6v/

https://stackoverflow.com/questions/34817546/javascript-how-to-delete-last-two-characters-in-a-string

如果您不需要空格,请使用修剪

"11.01 °C".slice(0,-2).trim()


#10楼

使用子字符串将所有内容移到_bar的左侧。 但是首先您必须在字符串中获得_bar的指令:

str.substring(3, 7);

3是开始,7是长度。


#11楼

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

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

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

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

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

#12楼

if(str.substring(str.length - 4) == "_bar")
{str = str.substring(0, str.length - 4);
}

#13楼

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

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

#14楼

最简单的方法是使用字符串的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); 

#15楼

如果要删除接近字符串末尾的内容(对于可变大小的字符串),可以组合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);

#16楼

这是我认为我没有在其他答案中看到的另一种选择,只是为了好玩。

 var strArr = "hello i'm a string".split(""); strArr.pop(); document.write(strArr.join("")); 

虽然不像slice或substring那样清晰易懂,但确实允许您使用一些不错的数组方法来处理字符串,因此值得一读。


#17楼

最短的方法:

str.slice(0, -1);

#18楼

您可以使用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); 

#19楼

怎么样:

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

#20楼

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

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

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

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

#21楼

如果要对浮点数进行通用舍入,而不是仅修剪最后一个字符:

var float1 = 12345.00,float2 = 12345.4567,float3 = 12345.982;var MoreMath = {/*** Rounds a value to the specified number of decimals* @param float value The value to be rounded* @param int nrDecimals The number of decimals to round value to* @return float value rounded to nrDecimals decimals*/round: function (value, nrDecimals) {var x = nrDecimals > 0 ? 10 * parseInt(nrDecimals, 10) : 1;return Math.round(value * x) / x;}
}MoreMath.round(float1, 1) => 12345.0
MoreMath.round(float2, 1) => 12345.5
MoreMath.round(float3, 1) => 12346.0

编辑:就像Paolo指出的那样,似乎有一个内置函数。 该解决方案显然比我的解决方案干净得多。 使用parseFloat,然后使用toFixed


#22楼

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

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

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

  1. python中指定最后一个字符_如何从Python字符串中删除最后一个字符?

    如何从Python字符串中删除最后一个字符? Python支持负索引切片和正切片.负索引从  -1 到-(iterable_length)开始.我们将使用负切片从可迭代对象的末尾获取元素. 索引  - ...

  2. 如何从字符串中删除最后一个字符?

    我想从字符串中删除最后一个字符. 我尝试这样做: public String method(String str) {if (str.charAt(str.length()-1)=='x'){str ...

  3. php 字符串 替换 最后,php如何替换字符串中的最后一个字符

    php替换字符串中的最后一个字符的方法是:可以通过preg_replace()函数来实现.该函数的语法为:[preg_replace(mixed $pattern, mixed $replacemen ...

  4. 遍历获取字符串中的每一个字符

    /*遍历获取字符串中的每一个字符*/ /*public final char charAt(int index)              * 读取当前给定索引处的字符              */ ...

  5. php 正则 最后一个字符,关于正则表达式:在PHP中查找字符串中的最后一个字符...

    我正在用PHP进行一些URL重写,需要找到末尾有斜线的URL,然后执行301重定向.我以为会有一个简单的PHP函数来查找最后一个字符串,但我找不到任何东西.第一直觉让我觉得我需要使用regex,但我不 ...

  6. 如何使用 Javascript 截断/切片/修剪字符串中的最后一个字符?

    问: 我有一个字符串 12345.00,我希望它返回 12345.0. 我看过 trim,但看起来它只是修剪空白和 slice,我看不出这是如何工作的.有什么建议么? 答1: huntsbot.com ...

  7. c语言中字符串最后一位,C删除字符串中的最后一个字符

    该程序删除每个单词的最后一个字符. #include #include #include int main(int argc, char*argv[]){ char *string; char *pt ...

  8. 字符串中如何删除一个字符

    字符串中我们怎么删除一个字符 第一种办法,找到该字符,后面的字符挨个挨个往前移动.直接上代码: #include using namespace std; void deletestr_T(char ...

  9. 程序员面试题精选100题(36)-在字符串中删除特定的字符[算法]

    题目:输入两个字符串,从第一字符串中删除第二个字符串中所有的字符.例如,输入"They are students."和"aeiou",则删除之后的第一个字符串变 ...

最新文章

  1. Java数据结构与算法(八)-二叉树
  2. AS-External-LSA
  3. 微信小程序----手势锁详解
  4. 这是一篇Markdown手册
  5. 配置OpenCV的Qt开发环境
  6. dubbo集群服务下一台服务挂了对服务调用的影响
  7. 计算机丢失lib.dll,libprotobuf.dll
  8. Ranorex中Global变量的使用
  9. qml: 自定义滚动条;
  10. mapbox 修改初始位置_《绝地求生》实用的键位改键推荐 | 哪些不合理的初始键位需要更改?...
  11. java语言操作Oracle数据库中的CLOB数据类型
  12. keepalived 非抢占模式
  13. SQL Server 本机 Web 服务的使用方案(转载)
  14. 中国石油大学c语言程序设计答案,中国石油大学《C语言程序设计》期末复习题和答案.doc...
  15. ⑥tiny4412 Linux驱动开发之LCD(framebuffer)驱动程序
  16. 联想怎么启用计算机的无线功能,IdeaCentre B3系列电脑无线连接中心的使用方法...
  17. 2018年总结和计划
  18. layui实现动态多级菜单
  19. firefox Chrome浏览器redux devTools调试工具
  20. SpringMVC通过ResponseEntity实现文件下载

热门文章

  1. 如何解决Backup Exec Remote Agent推送安装失败的问题
  2. ASP.NET之Application、Session和Cookie的差别
  3. kubernetes常用命令整理
  4. Ubuntu16.04安装系统之后软件无法安装
  5. zabbix通过OMSA监控Dell服务器
  6. scp命令下载整个目录
  7. 代码安全_弱点(脆弱性)分析 CWE_20200807
  8. Linux中,Tomcat安装
  9. 比较两个sheet页中的内容,自动切换
  10. 力扣题目——143. 重排链表