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

Duplicate Word Finder

Найдите повторяющиеся слова в тексте с подсчётом частоты и позициями.

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

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

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

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

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

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

import re
from collections import Counter

def find_duplicates(text: str, case_sensitive: bool = False) -> dict:
    """Find duplicate words and their positions in text."""
    processed = text if case_sensitive else text.lower()
    words = re.findall(r'\b[a-zA-Z]+\b', processed)
    freq = Counter(words)
    duplicates = {word: count for word, count in freq.items() if count > 1}

    # Find positions (1-based word index)
    positions = {word: [] for word in duplicates}
    for i, word in enumerate(words, 1):
        if word in positions:
            positions[word].append(i)

    return {
        'duplicates': sorted(duplicates.items(), key=lambda x: -x[1]),
        'positions': positions,
        'total_words': len(words),
        'unique_words': len(freq),
    }

text = "The cat sat on the mat and the cat was happy"
result = find_duplicates(text, case_sensitive=False)
for word, count in result['duplicates']:
    print(f"'{word}' appears {count} times at positions {result['positions'][word]}")

Comments & Feedback

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