2014-01-14 2 views
2

Есть ли способ получить все символы, которые находятся после последнего пробела в строке?Получить символы перед последним пространством в строке

Примеры:

"I'm going out today". 

я должен получить "today".

"Your message is too large". 

Я должен получить "large".

+0

это звучит почти как домашнее задание;) – JensB

+0

@JensBerfenfeldt Это легкая вещь, чтобы сделать, но это общее, чтобы сделать это. –

+2

После или до последнего пробела? – Bergi

ответ

6

Вы можете сделать

var sentence = "Your message is too large"; 
var lastWord = sentence.split(' ').pop() 

Результат: "large"

Или с regular expression:

var lastWord = sentence.match(/\S*$/)[0] 
3

использования string.lastIndexOf():

var text = "I'm going out today"; 
var lastIndex = text.lastIndexOf(" "); 
var result = ''; 
if (lastIndex > -1) { 
    result = text.substr(lastIndex+1); 
} 
else { 
    result = text; 
} 

UPDA TE: комментарий отредактирован, чтобы добавить проверку, если в строке нет места.

+1

Кстати, '+ 1' также гарантирует, что он по-прежнему работает, если в строке нет пробелов :) –

+0

Да, вы правы! Спасибо за комментарий! :) –

+0

Я не имел ввиду, что вам нужно добавить условие, предыдущий код был в порядке. –

4
var x = "Your message is too large"; 

function getLastWord(str){ 
    return str.substr(str.lastIndexOf(" ") + 1); 
} 

alert(getLastWord(x)); // output: large 

// passing direct string 
getLastWord("Your message is too large"); // output: large 
+0

Вы больше всего приветствуете Альберто ... ура! –

4

попробовать это:

var str="I'm going out today"; 
    var s=str.split(' '); 
    var last_word=s[s.length-1]; 
Смежные вопросы