2015-11-26 2 views
0

Скажем, у меня есть строка 12.13.14Извлечение конца строки - Javascript

Как я могу получить символы после последней точки. (в этом случае 14)?

Может быть более двух символов.

Примерами могут служить
34.45.657
10.11.46256

Таким образом, после последней точки может быть любое количество символов.

Я перепутал с .slice(), но никуда не могу.

+0

игнорировать мое предложение удален ... 'Раскол ('').pop() 'лучше, но –

+0

@JaromandaX ok спасибо, никогда не слышал о .pop() до – Wo0dSiiE

+1

У массивов есть' .shift() '/'.unshift()' для работы главы и '.push()'/' .pop() 'для работы хвоста ...' .split() 'создает массив для работы с –

ответ

3

У вас есть куча вариантов. Одним из них является split и pop:

var str = "12.13.14"; 
 
var last = str.split('.').pop(); 
 
document.body.innerHTML = last;

Другой является регулярным выражением

var str = "12.13.14"; 
 
var match = /\.([^.]+)$/.exec(str); 
 
var last = match && match[1]; 
 
document.body.innerHTML = last;

Или рекс и заменить:

var str = "12.13.14"; 
 
var last = str.replace(/^.*\.([^.]+)$/, "$1"); 
 
document.body.innerHTML = last;

Или lastIndexOf и substring как Ananth shows.

+1

Отсутствует только 'lastIndexOf' ;-) – Cerbrus

+0

@Cerbrus: Хорошая точка! –

+0

Спасибо! Большой ответ – Wo0dSiiE

1
var str = '34.45.657'; 
console.log(str.substring(str.lastIndexOf('.') + 1)); 
0

Простым решением было бы использовать split(), который принимает разделитель.

Вы можете разделить строку на точки, а так как split возвращает массив, вы можете использовать pop(), чтобы получить последний результат.

например.

'34.345.3456'.split('.').pop(); // 3456 
1

Вы можете сделать это несколькими способами:

Первый способ:

var myString = '12.13.14'; 
var lastItem = myString.split('.').pop(); 
console.log(lastItem); 

Второй способ:

var myString = '12.13.14'; 
var lastItem = myString.slice(myString.lastIndexOf('.')+1); 
console.log(lastItem); 

Третий путь:

var myString = '12.13.14'; 
var lastItem = myString.substring(myString.lastIndexOf('.') + 1); 
console.log(lastItem); 

и так далее ...

0

Простое решение, чтобы получить ответ на свой вопрос, как этот

var txt= document.getElementById("Text1").value; 
var s1 = txt.lastIndexOf("."); 
txt = txt.substring(0, s1); 
Смежные вопросы