text
Text
A collection of text algorithms. Including; Porter-Stemmer, Soundex, Metaphone, Double Metaphone & White Similarity
Installation
Add this to your application's shard.yml:
dependencies:
  text:
    github: johnjansen/text
Usage
require "text"
Levenshtein distance
You should use the Levenshtein module in the Crystal StdLib though ...
  Text::Levenshtein.distance('test', 'test')
  # => 0
  Text::Levenshtein.distance('test', 'tent')
  # => 1
  Text::Levenshtein.distance('test', 'testing')
  # => 3
  Text::Levenshtein.distance('test', 'testing', 2)
  # => 2
Metaphone
  Text::Metaphone.metaphone('BRIAN')
  # => 'BRN'
  Text::Metaphone.double_metaphone('Coburn')
  # => ['KPRN', nil]
  Text::Metaphone.double_metaphone('Angier')
  # => ['ANJ', 'ANJR']
Soundex
  Text::Soundex.soundex('Knuth')
  # => 'K530'
Porter stemming
  Text::PorterStemming.stem('abatements')  # => 'abat'
White similarity
  white = Text::WhiteSimilarity.new
  white.similarity('Healed', 'Sealed')   # 0.8
  white.similarity('Healed', 'Help')     # 0.25
Contributing
- Fork it ( https://github.com/johnjansen/text/fork )
- Create your feature branch (git checkout -b my-new-feature)
- Commit your changes (git commit -am 'Add some feature')
- Push to the branch (git push origin my-new-feature)
- Create a new Pull Request
Contributors
- johnjansen John Jansen - creator, maintainer
Thanks
- Paul Battley (threedaymonk)
- Michael Neumann
- Tim Fletcher
- Hampton Catlin (hcatlin)
- Wilker Lúcio
- everyone who contributed to https://github.com/threedaymonk/text
Repository
  text
Owner
  
  Statistic
  - 18
- 1
- 1
- 1
- 0
- over 6 years ago
- November 8, 2016
License
  MIT License
Links
  
  Synced at
  Fri, 31 Oct 2025 07:25:49 GMT
Languages