Извлечение определенного раздела строки с помощью JavaScript - PullRequest
0 голосов
/ 26 января 2012

В настоящее время я работаю с tumblr API для проекта.

Мне кажется, что проблема в том, что я должен иметь возможность извлечь имя пользователя из URL-адреса src, например:

http://(you).tumblr.com/api/read/json

Я искал что-то вроде substr(), но я не могу гарантировать количество извлекаемых символов.

Есть идеи?

Ответы [ 2 ]

1 голос
/ 26 января 2012

с использованием регулярного выражения:

> var s = 'http://you.tumblr.com/api/read/json';
> var re = /^http:\/\/(\w+)\./;
> s.match(re);
[ 'http://you.',
  'you',
  index: 0,
  input: 'http://you.tumblr.com/api/read/json' ]
> s.match(re)[1]
'you'

короче:

'http://you.tumblr.com/api/read/json'.match(/^http:\/\/(\w+)\./)[1]

будет оцениваться до

'you'

уточнить:

^            match start of string
http:\/\/    match http://
(\w+)        match group of word characters which appears 1 or more times
\.           match a dot
0 голосов
/ 26 января 2012

Вот быстрый и грязный способ без использования регулярных выражений.

var str = "http://mydomain.tumblr.com/api/read/json";
var domainpart = str.substr(7, str.indexOf(".") - 7);
document.write(domainpart);
...