2015-01-27 3 views
0

У меня есть строка в следующем формате:Как извлечь подстроку из строки в JavaScript?

var str1="tag:youtube.com,2008:video:VrtMalb-XcQ"; 

От этого мне нужно извлечь последнюю часть т.е. VrtMalb-XcQ. Как я могу это достичь?

+0

Посмотрите здесь: используйте lastIndexOf в 'x' и используйте метод подстроки. http://www.w3schools.com/jsref/jsref_obj_string.asp – Stultuske

ответ

2

использование split и pop:

var str1="tag:youtube.com,2008:video:VrtMalb-XcQ"; 
str1.split(':').pop() 
+0

Совершенно необязательно разделить все это, когда все, что вам нужно, это индекс последнего ':' –

+1

@ SimonAndréForsberg ... почему это не нужно? это простое и короткое решение, прекрасно работает –

+0

Это пустая трата процессора и памяти. Это делает больше работы, чем на самом деле требуется (небольшие отходы, но все равно отходы) –

5

Что вам нужно знать индекс последнего :. Это может быть достигнуто с помощью lastIndexOf

var str1="tag:youtube.com,2008:video:VrtMalb-XcQ"; 
var result = str1.substr(str1.lastIndexOf(':') + 1); 

+ 1 там, потому что в противном случае вы бы также получить непосредственно двоеточие в строке.

Это действительно самый быстрый способ сделать это и требует наименьшей памяти.

+0

Большое спасибо. Это работает :) – user3177493

0
"tag:youtube.com,2008:video:VrtMalb-XcQ".replace(/.*:/, "") 
+0

С помощью regex для этого? Шутки в сторону? Я не думаю, что это хорошее решение. –

+0

@ SimonAndréForsberg Не стоит нисходящего, он работает –

+2

@JuanMendes Извините, я слишком активен в обзоре кода, чтобы сделать что-нибудь еще. Кроме того, описания вообще нет, просто дамп кода. –

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