2015-07-07 2 views
1

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

baseUrl = "http://www.example.com" 
baseUrl = "https://secure.example-server.com:443" 

Может кто-нибудь сказать мне, как я могу получить информацию о сервере из BaseUrl так что я могу получить или «пример» и «пример-сервер»

+2

возможно дубликат [Как разобрать URL в имя хоста и путь в JavaScript ?] (http://stackoverflow.com/questions/736513/how-do-i-parse-a-url-into-hostname-and-path-in-javascript) – Panther

+0

Регулярное выражение. Просто регулярное выражение. – briosheje

+0

[Posible Duplicate] здесь [http://stackoverflow.com/questions/8498592/extract-root-domain-name-from-string](http://stackoverflow.com/questions/8498592/extract-root-domain- имя-из-строки). Надеюсь это поможет. – hungndv

ответ

3

Вы можете использовать regex:

baseUrl.match(/\.(.*?)\.co/i)[1]; 

Regex Объяснение

  1. /: разделителей regex
  2. \.: Матчи . буквальным (нужно экранировать)
  3. (): Захват группы
  4. .*?: Любая строка
  5. co: Спички строка co
  6. i: Матч в зависимости от случая
  7. [1]: Получите захват Группа ING

Regex Визуализация

enter image description here

1

Вы можете разделить строки на определенные символы с разбиением ("."); (см. http://www.w3schools.com/jsref/jsref_split.asp) затем вы можете сравнить результаты с вашими предопределенными словами.

или вы берете второй элемент результатов, который обычно (?) Должен быть тем, что вы ищете.

1

Если вы просто хотите, чтобы извлечь строку между двумя '.' с (или имя домена в URL), вы можете попробовать это:

var firstDotPos = baseUrl.indexOf("."); 
var secondDotPos = baseUrl.indexOf(".",firstDotPos); 
var yourString = baseUrl.substring(firstDotPos + 1, 18); 
console.log(yourString) 
Смежные вопросы