2014-10-20 2 views
4

Скажут, у меня есть строка, которая выглядит следующим образом:Удалить все символы из строки с последней запятой, начиная

'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

+0

Почему-то мой рабочий ответ ([здесь] (http://stackoverflow.com/a/26464445/1317805)) был опущен. Я упоминаю об этом здесь, если вы посмотрите на него и подумаете, что это не работает из-за downvote - как показывает фрагмент кода, он отлично работает. Кажется, это просто случайный нисходящий поток без каких-либо особых причин, связанных с ответом. –

ответ

15

Просто читать до последнего ,:

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

Вы можете с помощью комбинации .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(','))

1

Вы можете использовать метод 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

Помогите объяснить нижний план? Если вы запускаете фрагмент кода, это отлично работает ... –

+0

В основном, это: http://jsperf.com/regex-vs-lastindexof-1 Не используйте регулярные выражения для простых строковых манипуляций. – Cerbrus

+1

@Cerbrus, если вы не используете игру со скоростью 60 кадров в секунду, разница здесь незначительна. –

0

Вот ваш код 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

Смежные вопросы