读书人

python 之 求英语单词复数的 一种兑现

发布时间: 2012-12-28 10:29:05 作者: rapoo

python 之 求英语单词复数的 一种实现方式

#!/usr/bin/evn pythonimport re;def GetMatchAndApplyFuncs(strPattern, strSearch, strReplace):    def MatchRule(strWord):        return re.search(strPattern, strWord);        def ApplyRule(strWord):        return re.sub(strSearch, strReplace, strWord);        return (MatchRule, ApplyRule);g_tlPattern = (    ('[sxz]$',           '$',  'es'),    ('[^aeioudgkprt]h$', '$',  'es'),    ('(qu|[^aeiou])y$',  'y$', 'ies'),    ('$',                '$',  's')  );g_lsRules = [GetMatchAndApplyFuncs(strPattern, strSearch, strReplace) for (strPattern, strSearch, strReplace) in g_tlPattern];def GetPlural(strWord):    if not strWord:        return "";        for fnMatch, fnApply in g_lsRules:        if fnMatch(strWord):            return fnApply(strWord);        if "__main__" == __name__:    strVal = "exhs";    strPlural = GetPlural(strVal);    print("%s plural ==> %s" %(strVal, strPlural));
?

读书人网 >perl python

热点推荐