John117 Posted May 1, 2009 Share Posted May 1, 2009 (edited) expandcollapse popup;=============================================================================== ; Function Name: _Grammar_RemovePluralization() ; Description: Converts Plural to Singular ; Syntax: _Grammar_RemovePluralization($sStr) ; Parameter(s): $sStr - String or file to test ; Requirement(s): ; Return Value(s): - Success = Corrected string, @Extended contains the number of changes made ; - Failure = Sets @Error to 2 if $sStr is not valid ; returns the string ($sStr) if aint or ain't are not found in the string ; Author(s): David Hatcher (John117) Formerly (Hatcheda) ; Modification(s): Authenticity assisted with StringRegExpReplace ; Note(s): Additional functionality for Geosoft's Grammar.au3 ; Example(s): #cs #ce ;=============================================================================== Func _Grammar_RemovePluralization($sStr) If FileExists($sStr) Then $sStr = FileRead($sStr) If Not $sStr Then Return SetError(2, 0) Local $iCount = 0 $sStr = StringReplace($sStr, "alumni", "alumnus") $iCount += @extended $sStr = StringReplace($sStr, "cacti", "cactus") $iCount += @extended $sStr = StringReplace($sStr, "focuses", "focus") $iCount += @extended $sStr = StringReplace($sStr, "foci", "focus") $iCount += @extended $sStr = StringReplace($sStr, "funguses", "fungus") $iCount += @extended $sStr = StringReplace($sStr, "fungi", "fungus") $iCount += @extended $sStr = StringReplace($sStr, "nuclei", "nucleus") $iCount += @extended $sStr = StringReplace($sStr, "radii", "radius") $iCount += @extended $sStr = StringReplace($sStr, "stimuli", "stimulus") $iCount += @extended $sStr = StringReplace($sStr, "axes", "axis") $iCount += @extended $sStr = StringReplace($sStr, "analyses", "analysis") $iCount += @extended $sStr = StringReplace($sStr, "bases", "basis") $iCount += @extended $sStr = StringReplace($sStr, "crises", "crisis") $iCount += @extended $sStr = StringReplace($sStr, "diagnoses", "diagnosis") $iCount += @extended $sStr = StringReplace($sStr, "ellipses", "ellipsis") $iCount += @extended $sStr = StringReplace($sStr, "hypotheses", "hypothesis") $iCount += @extended $sStr = StringReplace($sStr, "oases", "oasis") $iCount += @extended $sStr = StringReplace($sStr, "paralyses", "paralysis") $iCount += @extended $sStr = StringReplace($sStr, "parentheses", "parenthesis") $iCount += @extended $sStr = StringReplace($sStr, "syntheses", "synthesis") $iCount += @extended $sStr = StringReplace($sStr, "synopses", "synopsis") $iCount += @extended $sStr = StringReplace($sStr, "theses", "thesis") $iCount += @extended $sStr = StringReplace($sStr, "appendices", "appendix") $iCount += @extended $sStr = StringReplace($sStr, "indexes", "index") $iCount += @extended $sStr = StringReplace($sStr, "indeces", "index") $iCount += @extended $sStr = StringReplace($sStr, "matrixes", "matrix") $iCount += @extended $sStr = StringReplace($sStr, "matrices", "matrix") $iCount += @extended $sStr = StringReplace($sStr, "beaux", "beau") $iCount += @extended $sStr = StringReplace($sStr, "bureaux", "bureau") $iCount += @extended $sStr = StringReplace($sStr, "bureaus", "bureau") $iCount += @extended $sStr = StringReplace($sStr, "tableaus", "tableau") $iCount += @extended $sStr = StringReplace($sStr, "tableaux", "tableau") $iCount += @extended $sStr = StringReplace($sStr, "children", "child") $iCount += @extended $sStr = StringReplace($sStr, "men", "man") $iCount += @extended $sStr = StringReplace($sStr, "oxen", "ox") $iCount += @extended $sStr = StringReplace($sStr, "calves", "calf") $iCount += @extended $sStr = StringReplace($sStr, "women", "woman") $iCount += @extended $sStr = StringReplace($sStr, "bacteria", "bacterium") $iCount += @extended $sStr = StringReplace($sStr, "corpora", "corpus") $iCount += @extended $sStr = StringReplace($sStr, "criteria", "criterion") $iCount += @extended $sStr = StringReplace($sStr, "curricula", "curriculum") $iCount += @extended $sStr = StringReplace($sStr, "data", "datum") $iCount += @extended $sStr = StringReplace($sStr, "genera", "genus") $iCount += @extended $sStr = StringReplace($sStr, "media", "medium") $iCount += @extended $sStr = StringReplace($sStr, "memoranda", "memorandum") $iCount += @extended $sStr = StringReplace($sStr, "phenomena", "phenomenon") $iCount += @extended $sStr = StringReplace($sStr, "strata", "stratum") $iCount += @extended $sStr = StringReplace($sStr, "feet", "foot") $iCount += @extended $sStr = StringReplace($sStr, "geese", "goose") $iCount += @extended $sStr = StringReplace($sStr, "teeth", "tooth") $iCount += @extended $sStr = StringReplace($sStr, "antennas", "antenna") $iCount += @extended $sStr = StringReplace($sStr, "antennae", "antenna") $iCount += @extended $sStr = StringReplace($sStr, "formulas", "formula") $iCount += @extended $sStr = StringReplace($sStr, "formulae", "formula") $iCount += @extended $sStr = StringReplace($sStr, "nebulae", "nebula") $iCount += @extended $sStr = StringReplace($sStr, "vertebrae", "vertebra") $iCount += @extended $sStr = StringReplace($sStr, "vitae", "vita") $iCount += @extended $sStr = StringReplace($sStr, "mice", "mouse") $iCount += @extended $sStr = StringReplace($sStr, "pies", "pie") $iCount += @extended $sStr = StringRegExpReplace($sStr, '(?i)(?<=\w)([^aeiou\W])s\b', '\1') $iCount += @extended $sStr = StringRegExpReplace($sStr, '(?i)(?<=\w)([^aeiou\W])ies\b', '\1y') $iCount += @extended SetExtended($iCount) Return $sStr EndFunc ;==>_Grammar_RemovePluralization Edited May 4, 2009 by John117 Link to comment Share on other sites More sharing options...
John117 Posted May 4, 2009 Author Share Posted May 4, 2009 Updated Link to comment Share on other sites More sharing options...
MMMark Posted May 5, 2009 Share Posted May 5, 2009 axes is also the plural of both ax and axe analyses is also the plural of analyse bases is also the plural of base paralyses is also the plural of paralyse focus (verb) has the plurals focuses and focusses (esp. Brit. and Can.) Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now