This problem is seriously non-trivial because to do this, you need to have a lexicon that lists all the forms and says whether they're singular or plural. There are a lot of irregular plural forms in English, plus there are a lot of ambiguous singular forms that a simple "is there an 's' at the end?" algorithm would need to account for (like "bus").

Your best bet is to process the text you need the plural forms for via a POS (Part of Speech) Tagger like the Tree Tagger at the Department of Linguistic Processing at the University of Stuttgart. It's free as in beer, but you can't play with the code (which is C, so it runs very fast).

There are other taggers out there, including one packaged with a bunch of Perl tools called Xlex (not the remedy for constipation). It's written in C++ and you can play with it online. They will send you the whole Xlex system if you ask them nicely, but you'll have to wait for them to respond to your e-mail.

--
Allolex


In reply to Re: is a word plural? by allolex
in thread is a word plural? by rkg

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.