13.Регулярные выражения. Работа со строками

 

Итак. Скорее всего вас испугали эти выражения через точку. Сложного ничего там нет, но понимание прийдет только после практики. Открывайте наш файл «тренировочный.js», пишите в него конструкцию

и меняйте классы(в ковычках) Находите их на странице в div тегах и вставляйте. Запускайте скрипт, и по тому что выведится вы будет понимать к чему получили доступ. Только так. Попутно обсудим это в комментариях ниже. А пока продолжаем выполнение ТЗ.

Эта строка которую я привел в пример выдаст на странице примерно такие данные:

То есть мы попали на эту строчку в первом топике выдачи. Нам нужно вытянуть количество просмотров. Для этого нужно разобрать эту строку и выкинуть все ненужное. В этом JavaScript нам предоставляет кучу возможностей.

Но для начала я бы принялся за непонятный знак после четверки

это пробел в браузере. Так ютуб тысячи отделяет. Нам такие пробелы будут мешать, поэтому нужно проинспектировать строку на такие символы и удалить их. Так же нам возможно помешают пробелы в нашей строке. Их тоже нужно обезвредить.  В этом прийдется обратиться  к регулярным выражениям. Так в джаваскрипт называется инструмент который может искать и менять разные элементы в строке. По первой вам будет с ними сложновато, так что тут организую шпаргалку.  А пока сделаем так:

В результате запуска у нас на экран уже выйдет:

<ulclass=»yt-lockup-meta-info»><li>Годназад</li><li>4192просмотра</li></ul>

То есть нет пробелов и того странного знака).

Сейчас немного о массивах:

Что такое массив? Ну если переменную мы представляли как коробочку, то массив это коробка коробочек). Причем представьте себе что коробочки расположены в ряд одна за другой. Каждая имеет номер. И при помощи специальных команд мы можем по номеру получать доступ к ним, изменять содеожимое, выкидывать, добавлять их в массив. А так же сортировать и т.д. Но все это нам пока не нужно, нам бы со своей строкой разобраться… Так вот каждый знак в этой строчке тоже имеет свой порядковый номер. Только опять же считается не с 1(как у обычных людей), а с 0.

Для того чтоб нам отделить зерна от плевел, прийдется отсекать ненужные кусочки этой строки. Для начала я предлагаю откинуть первую половину. Зацепиться можно за то, что никогда не будет меняться в этой строке :

Это html теги, и они будут всегда в таком порядке в этом месте. Так устроена страница. Для того что бы нам откусить строку по эти теги, мы воспользуемся методом .split(). Он разбивает нашу строку на массив строк. И при этом дает возможность часть строк(массивов) откинуть.

Например вот такая красота:

разделит нашу строку и выкинет первую половинку по

включительно. Как я об этом узнал? Да набрал в гугле «джаваскрипт разделить строку», или «джавскрипт удалить знаки из строки» и т.д. И вы так будете первое время делать. А пока вот результат наших трудов:

Осталось вытянуть первую цифру. В этом нам поможет функция parseInt() она пытается преобразовать строку в число. В нашем случае она подойдет:

Ну вот и все, на выходе имеем чистое число просмотров. У вас это конечно будет другое, потому что первый топик у вас будет другой. Возможно у вас там будет топик с плейлистом, тогда вам нужно изменить в первой строке кода цифру в квадратных скобках. Тогда вы будете проводить эксперемент на другом топике. Пробуйте. Разбирайтесь. Добавлю пусть вас не пугает так много строк, все это можно было записать намного короче. Но так понятнее.

Перейти к следующему уроку!

  4 комментария to “13.Регулярные выражения. Работа со строками”

  1.  

    Большое вам человеческое спасибо за ваш труд! Ваши статьи мне очень помогли! Именно то, что я искала.

  2.  

    Присоединяюсь. Это действительно то, что нужно и без лишнего бла-бла. Только «мясо». Сам я люблю покопаться в кодах, но зачастую бывает много очевидной «воды» или, наоборот, слишком «сухо». Здесь всё отлично выдержано. Благодарю и успехов!

  3.  

    автор знает свое дело. Можно сказать что показал все с нуля, начинаю разбираться
    присоединяюсь)

  4.  

    Отличные уроки!!!! Спасибо автору.

Добавить комментарий