Получаем цифры: несколько способов извлечения телефонных номеров с помощью кода

Привет, ребята! Сегодня мы окунемся в чудесный мир извлечения телефонных номеров с помощью кода. Независимо от того, создаете ли вы систему управления контактами, анализируете данные клиентов или просто интересуетесь необычными телефонными номерами в своем тексте, у нас есть все необходимое. Итак, пристегнитесь и начнем!

  1. Регулярные выражения (регулярное выражение) – классический выбор
    Регулярное выражение похоже на волшебную палочку для сопоставления с образцом в тексте. Вот простой пример на Python:
import re
text = "Hey there! Give me a call at 555-123-4567."
phone_numbers = re.findall(r"\d{3}-\d{3}-\d{4}", text)
for number in phone_numbers:
    print(number)

В этом фрагменте используется шаблон \dдля сопоставления цифр, а {3}указывает точное количество вхождений. Не стесняйтесь настраивать шаблон регулярного выражения в соответствии с вашими потребностями.

  1. Манипуляции со строками — стиль «сделай сам»
    Если вы не поклонник регулярных выражений, вы всегда можете прибегнуть к старым добрым манипуляциям со строками. Вот пример Python:
text = "Call me anytime at (555) 123-4567 or 555-987-6543."
def extract_phone_numbers(text):
    numbers = []
    current_number = ""
    for char in text:
        if char.isdigit():
            current_number += char
        elif current_number:
            numbers.append(current_number)
            current_number = ""

    return numbers
phone_numbers = extract_phone_numbers(text)
for number in phone_numbers:
    print(number)

В этом фрагменте кода мы перебираем каждый символ в тексте и выводим номер телефона цифра за цифрой. Затем мы сохраняем извлеченные числа в списке.

  1. Веб-скрапинг – обнаружение номеров на веб-страницах
    Иногда вам нужно получить номера телефонов с веб-страниц. Введите парсинг веб-страниц! Вот простой пример использования Python с библиотекой BeautifulSoup:
import requests
from bs4 import BeautifulSoup
url = "https://www.example.com/contact"
response = requests.get(url)
soup = BeautifulSoup(response.content, "html.parser")
phone_numbers = []
for element in soup.find_all("a"):
    if "tel:" in element.get("href"):
        phone_numbers.append(element.get("href").replace("tel:", ""))
for number in phone_numbers:
    print(number)

Этот фрагмент кода извлекает веб-страницу с помощью библиотеки запросов, анализирует ее с помощью BeautifulSoup, а затем извлекает номера телефонов из элементов <a>, содержащих tel:в своих 8.

  1. JavaScript – извлечение на стороне клиента
    Если вы работаете на стороне веб-клиента, JavaScript может пригодиться. Вот пример извлечения телефонных номеров из текстовой строки:
var text = "Contact us at 555-123-4567 or 555-987-6543.";
var phoneNumbers = text.match(/\d{3}-\d{3}-\d{4}/g);
for (var i = 0; i < phoneNumbers.length; i++) {
    console.log(phoneNumbers[i]);
}

Этот код JavaScript использует метод match()с шаблоном регулярного выражения для извлечения телефонных номеров.

Бум! Вот и все — четыре разных метода извлечения телефонных номеров с помощью кода. Независимо от того, предпочитаете ли вы регулярные выражения, манипуляции со строками, очистку веб-страниц или клиентский JavaScript, эти методы помогут вам разобраться с этими цифрами в кратчайшие сроки.

Помните: наличие правильных инструментов в вашем арсенале кодировщика может значительно облегчить вашу жизнь. Так что выберите свой любимый метод и начните извлекать эти телефонные номера как профессионал!