Перейти к содержимому

Разделитель предложений

Разделяет текст на предложения, абзацы или по пользовательскому разделителю. Показывает количество сегментов и статистику длины.

Об этом инструменте

Разделитель предложений (Sentence Splitter) — это практичный инструмент для разбиения текста на логические сегменты: предложения, абзацы или фрагменты, разделённые пользовательскими разделителями. Независимо от того, проводите ли вы анализ текста для исследований, обрабатываете контент для задач NLP или просто организуете длинные отрывки, этот инструмент автоматически подсчитывает каждый сегмент и вычисляет статистику по длине, избавляя вас от утомительной ручной работы.

Просто вставьте текст в поле ввода, выберите метод разделения (по предложениям, абзацам или пользовательскому разделителю) и нажмите кнопку Разделить. Инструмент мгновенно отображает каждый сегмент в нумерованном списке с подсчётом символов и слов, что облегчает выявление закономерностей, сравнение длины сегментов или экспорт результатов для дальнейшей обработки.

Этот инструмент неоценим для писателей, редактирующих длинные документы, разработчиков, подготавливающих обучающие данные для текстовых моделей, создателей контента, управляющих структурой статей, и всех, кому требуется быстрый анализ текста без необходимости открывать громоздкие текстовые редакторы или системы управления базами данных.

Часто задаваемые вопросы

Реализация кода

import re

def split_sentences(text):
    # Split on .!? followed by space+uppercase (basic sentence detection)
    sentences = re.split(r'(?<=[.!?])\s+(?=[A-Z"'])', text.strip())
    return [s.strip() for s in sentences if s.strip()]

def split_paragraphs(text):
    return [p.strip() for p in re.split(r'\n{2,}', text) if p.strip()]

def split_custom(text, delimiter):
    return [p.strip() for p in text.split(delimiter) if p.strip()]

def stats(segments):
    if not segments:
        return {}
    lengths = [len(s) for s in segments]
    return {
        "total": len(segments),
        "avg_length": sum(lengths) // len(lengths),
        "longest": max(lengths),
        "shortest": min(lengths),
    }

text = """Hello world. How are you today? I am doing well!
This is a second group of sentences. They continue here."""

sentences = split_sentences(text)
for i, s in enumerate(sentences, 1):
    print(f"{i}. {s}")
print(stats(sentences))

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.