跳到内容
🛠️ToolsShed

句子长度分析器

分析文本中句子长度的分布。

关于此工具

句子长度分析器是一种写作工具,用于检查任何文本中句子长度的分布。它帮助作者了解可读性模式、识别结构多样性,并认识到他们的写作是否自然流畅或变得单调。无论您是在撰写论文、完善博客文章、编辑专业文档还是教授写作技巧,该工具都能提供对您作品句子结构的即时见解,而无需手动计数或复杂分析。

要使用句子长度分析器,只需将文本粘贴到输入字段中,该工具会自动计算句子长度、显示频率分布图表,并提供详细统计信息,包括平均长度、最小值、最大值和中位数。可视化分析使您能一目了然地看到句子是否平衡,或者您是否过度依赖非常短或非常长的句子,使您可以轻松发现需要修改以提高可读性的领域。

常见问题

代码实现

import re
from collections import Counter

def analyze_sentence_lengths(text: str) -> dict:
    sentences = [s.strip() for s in re.split(r'[.!?]+', text) if s.strip()]
    lengths = [len(re.findall(r'\b\w+\b', s)) for s in sentences]

    if not lengths:
        return {}

    categories = {"short": 0, "medium": 0, "long": 0, "very_long": 0}
    for length in lengths:
        if length <= 10:
            categories["short"] += 1
        elif length <= 20:
            categories["medium"] += 1
        elif length <= 30:
            categories["long"] += 1
        else:
            categories["very_long"] += 1

    return {
        "total_sentences": len(sentences),
        "avg_length": round(sum(lengths) / len(lengths), 1),
        "min_length": min(lengths),
        "max_length": max(lengths),
        "categories": categories,
        "sentence_lengths": list(zip(sentences, lengths)),
    }

text = """
The cat sat. The quick brown fox jumped over the lazy sleeping dog near the river.
This is a medium length sentence with some words.
"""
result = analyze_sentence_lengths(text)
for sentence, length in result["sentence_lengths"]:
    print(f"{length:3d} words: {sentence[:50]}...")

Comments & Feedback

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