从最后一个逗号字符串中删除所有字符起

问题描述:

说我有一个字符串,它看起来像这样:从最后一个逗号字符串中删除所有字符起

'Welcome, your bed is made, your tea is ready.' 

使用jQuery,我怎么可以删除所有字符的最后一个逗号,包括最后一个逗号本身后因此该字符串显示为:

'Welcome, your bed is made' // all characters after last comma are removed 
+1

是的,你不需要jQuery来做字符串操作。 – Cerbrus 2014-10-20 11:27:06

+0

出于某种原因,我的工作答案([这里](http://*.com/a/26464445/1317805))已被低估。我在这里提到这一点,以防你看到它,并认为它不起作用,因为downvote - 如代码片段证明的,它工作正常。这似乎只是一个随机downvote没有特别的原因相关的答案。 – 2014-10-20 11:34:18

只需阅读,直到最后,

str = str.substr(0, str.lastIndexOf(",")); 

可以使用的.split()组合.slice()

var str = 'Welcome, your bed is made, your tea is ready.'; 
 
var arr = str.split(','); 
 
arr = arr.splice(0, arr.length - 1) 
 
alert(arr.join(','))

您可以使用字符串的replace()方法具有以下的正则表达式:

var str = 'Welcome, your bed is made, your tea is ready.' 
 

 
str = str.replace(/,([^,]*)$/, ''); 
 

 
$('#result').text(str);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<p id="result"></p>

+0

小心解释downvote?如果你运行的代码片段,这完美的作品... – 2014-10-20 11:29:10

+0

基本上,这:http://jsperf.com/regex-vs-lastindexof-1 不要使用正则表达式进行简单的字符串操作。 – Cerbrus 2014-10-20 11:38:34

+1

@Cerbrus除非你以60fps运行游戏,否则这里的差异可以忽略不计。 – 2014-10-20 11:53:44

这里是你的jQuery代码

<script type="text/javascript"> 
$(document).ready(function(){ 
    var str = 'Welcome, your bed is made, your tea is ready.'; 
    var n = str.lastIndexOf(","); 
    var str1 = str.slice(0,n); 
}); 
+0

str1有最终的字符串。 – Robin 2014-10-20 11:40:07