Switch branches/tags
Nothing to show
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
48 lines (28 sloc) 1.21 KB


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 =

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 = :case_mode => 'proper' )
np = :case_mode => 'leave' )
np = :case_mode => 'upper' )

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

np = :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

Send suggestions to mericson at ericson dot net.


Copyright © 2009 Matthew Ericson. See LICENSE for details.