Извлечение года из строки: методы и примеры кода

“Меня создают с 1988 года.”

Введение

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

  1. Регулярные выражения (Regex)

Регулярные выражения — мощный инструмент для сопоставления с образцом и манипуляций со строками. Мы можем использовать их для извлечения года из строки. Вот пример на Python:

import re
def extract_year_regex(string):
    pattern = r'\b\d{4}\b'  # Matches a 4-digit number surrounded by word boundaries
    match = re.search(pattern, string)
    if match:
        return match.group()
    else:
        return None
# Usage
year = extract_year_regex("yo estoy hecho desde 1988")
print(year)  # Output: 1988
  1. Разделение и фильтрация

Если год всегда находится в конце строки или отделен пробелом, мы можем разделить строку и отфильтровать числовые значения. Вот пример на Python:

def extract_year_split(string):
    words = string.split()
    year = next((word for word in words if word.isdigit() and len(word) == 4), None)
    return year
# Usage
year = extract_year_split("yo estoy hecho desde 1988")
print(year)  # Output: 1988
  1. Использование библиотек анализа дат

Если строка содержит правильно отформатированную дату, мы можем использовать библиотеки анализа даты, такие как datetimeв Python, чтобы извлечь год. Вот пример:

from datetime import datetime
def extract_year_datetime(string):
    try:
        date = datetime.strptime(string, '%Y-%m-%d')
        year = date.year
        return year
    except ValueError:
        return None
# Usage
year = extract_year_datetime("yo estoy hecho desde 1988")
print(year)  # Output: 1988