sentence-counter
TypeScript icon, indicating that this package has built-in type declarations

1.0.1 • Public • Published

sentence-counter

Website

A multilingual sentence counter that supports language detection, sentence splitting, and word counting for multiple languages including English, Chinese, Spanish, French, German, and Japanese.

Features

  • 🔍 Language detection for 6 languages (English, Chinese, Spanish, French, German, Japanese)
  • 📝 Sentence splitting with support for multiple languages
  • 📊 Word counting with language-specific rules
  • 📈 Comprehensive text analysis
  • 🚀 Zero dependencies
  • 📦 Written in TypeScript with full type support

Online Demo

Try our online sentence counter for instant text analysis. The web version provides:

  • Real-time sentence counting
  • Instant language detection
  • Word and character counting
  • Average words per sentence
  • Detailed sentence list
  • No registration required
  • 100% free to use

Installation

npm install sentence-counter

Usage

Basic Usage

import { analyzeText, detectLanguage, splitSentences, countWords, countSentences } from 'sentence-counter'

// Analyze text with comprehensive statistics
const text = "Hello! How are you? I'm fine. 你好!最近怎么样?我很好。"
const stats = await analyzeText(text)
console.log(stats)
// {
//   language: 'en',
//   sentenceCount: 6,
//   wordCount: 12,
//   sentences: ['Hello!', 'How are you?', "I'm fine.", '你好!', '最近怎么样?', '我很好。'],
//   words: ['Hello', 'How', 'are', 'you', "I'm", 'fine', '你好', '最近', '怎么样', '我', '很', '好']
// }

// Detect language
const lang = await detectLanguage(text)
console.log(lang) // 'en' or 'zh' depending on which language has more characters

// Split text into sentences
const sentences = splitSentences(text)
console.log(sentences)
// ['Hello!', 'How are you?', "I'm fine.", '你好!', '最近怎么样?', '我很好。']

// Count words
const words = await countWords(text)
console.log(words)
// ['Hello', 'How', 'are', 'you', "I'm", 'fine', '你好', '最近', '怎么样', '我', '很', '好']

// Count sentences
const count = countSentences(text)
console.log(count) // 6

Supported Languages

The package supports the following languages:

  • English (en)
  • Chinese (zh)
  • Spanish (es)
  • French (fr)
  • German (de)
  • Japanese (ja)

API Reference

detectLanguage(text: string): Promise<SupportedLanguage>

Detects the primary language of the given text based on character frequency and patterns.

splitSentences(text: string): string[]

Splits text into sentences based on language-specific and universal rules.

countWords(text: string): Promise<string[]>

Counts words in text based on language-specific and universal rules.

countSentences(text: string): number

Counts the number of sentences in the given text.

analyzeText(text: string): Promise<TextAnalysis>

Analyzes text and returns comprehensive statistics including:

  • Detected language
  • Sentence count
  • Word count
  • Array of sentences
  • Array of words

Type Definitions

type SupportedLanguage = 'en' | 'zh' | 'es' | 'fr' | 'de' | 'ja'

interface TextAnalysis {
	language: SupportedLanguage
	sentenceCount: number
	wordCount: number
	sentences: string[]
	words: string[]
}

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Related Projects

License

MIT © smthokay929

Package Sidebar

Install

npm i sentence-counter

Weekly Downloads

6

Version

1.0.1

License

MIT

Unpacked Size

12.7 kB

Total Files

5

Last publish

Collaborators

  • smthokay929