PluralToSingular – Converting the input word from plural to singular

' Convert the input word from plural to singularFunction PluralToSingular(ByVal plural As String) As String    ' convert to lowercase for easier comparison    Dim lower As String = plural.ToLower()    Dim res As String    ' rule out a few exceptions    If lower = "feet" Then        res = "Foot"    ElseIf lower = "geese" Then        res = "Goose"    ElseIf lower = "men" Then        res = "Man"    ElseIf lower = "women" Then        res = "Woman"    ElseIf lower = "criteria" Then        res = "Criterion"        ' plural uses "ies" if word ends with "y" preceeded by a non-vowel    ElseIf lower.EndsWith("ies") AndAlso "aeiou".IndexOf(lower.Substring _        (lower.Length - 4, 1)) < 0 Then        res = plural.Substring(0, plural.Length - 3) + "y"    Else        res = plural.Substring(0, plural.Length - 1)    End If    ' the result must preserve the original word's capitalization    If plural = lower Then        Return res.ToLower()   ' it was an all-lowercase word    ElseIf plural = plural.ToUpper() Then        Return res.ToUpper()    ' it was an all-uppercase word    Else        Return res    ' return whatever is in "res"    End IfEnd Function

Share the Post:
Share on facebook
Share on twitter
Share on linkedin

Overview

Recent Articles: