2012-05-13 5 views
3
$(function(){ 
    var alphabet = "ABCDEFGHIJKLMNOPQRSTUVEXYZ"; 
    var replaced = alphabet.replace(/(M).+$/,''); 
    $('body').text(replaced); 
}); 

Как я могу сделать это в обратном направлении, заменив M и все до него?Заменить весь текст до определенного момента

+0

Ваш алфавит не имеет 'W' и два' E's? ;) –

+1

@cliffsofinsanity Поворот. – VisioN

+1

Как только я прочитал ваш комментарий, я посмотрел, были ли клавиши W и E рядом друг с другом; конечно. – UserIsCorrupt

ответ

17

/^.+M/ Используйте выражение:

$(function() { 
    var alphabet = "ABCDEFGHIJKLMNOPQRSTUVEXYZ"; 
    var replaced = alphabet.replace(/^.+M/,''); 
    $('body').text(replaced); 
}); 

DEMO:http://jsfiddle.net/kbZhU/1/


Чем быстрее вариант заключается в использовании indexOf и substring методы:

$(function(){ 
    var alphabet = "ABCDEFGHIJKLMNOPQRSTUVEXYZ"; 
    var replaced = alphabet.substring(alphabet.indexOf("M") + 1); 
    $('body').text(replaced); 
}); 

DEMO:http://jsfiddle.net/kbZhU/2/

+0

Отлично, спасибо! – UserIsCorrupt

+0

Добро пожаловать;) – VisioN

1

Вот еще один способ, используя split метод:

$(function(){ 
    var alphabet = "ABCDEFGHIJKLMNOPQRSTUVEXYZ"; 
    var replaced = alphabet.split("M")[1]; 
    $('body').text(replaced); 
}); 
Смежные вопросы