Skip to content
This repository has been archived by the owner on Jun 30, 2022. It is now read-only.
/ people Public archive
forked from mericson/people

Matts Name Parser

License

Notifications You must be signed in to change notification settings

teamupstart/people

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

people

Parses names into parts. Loosely based on the Lingua-EN-NameParser Perl module.

How to install

sudo gem install people

How to use

require 'people'

np = People::NameParser.new

name = np.parse( "Matthew E Ericson" )
puts name[:parsed]
puts name[:orig]
puts name[:first]
puts name[:last]

If name successfully parses, name is set to true.

Available parts are :title, :first, :middle, :last, :suffix, :first2, :middle2, :title2, :suffix2, :orig, :match_type

By default, it will try to proper case names. If you want to leave the capitalization alone, pass :case_mode => ‘leave’ or for uppercase, ‘upper’.

np = People::NameParser.new( :case_mode => 'proper' )
np = People::NameParser.new( :case_mode => 'leave' )
np = People::NameParser.new( :case_mode => 'upper' )

If you have names like “John and Jane Doe”, pass :couples => true

np = People::NameParser.new( :couples => true, :case_mode => 'upper' )

name = np.parse( "John and Jane Doe" )
puts name[:first]
puts name[:first2]
puts name[:last]

Try it out online at people.ericson.net

Send suggestions to mericson at ericson dot net.

Copyright © 2009 Matthew Ericson. See LICENSE for details.

Packages

No packages published

Languages

  • Ruby 100.0%