【问题标题】:How to remove plural words from a string in PHP?如何从PHP中的字符串中删除复数词?
【发布时间】:2014-02-06 18:19:29
【问题描述】:

我有一串单词,其中有一些像

"Cloud", "Clouds", "Application", "Applications", "Event", "Events"

还有一些类似的词

"Access"

它们是单数但最后有"s"。我想删除复数词,但我不能编写代码从末尾删除 s,因为它会从所有单词中删除 "s" 。 我在互联网上搜索,找不到任何相关的东西。 谁能帮助我以最好的方式做到这一点?

编辑:如何在我的程序中使用 CakePHP?我以前从未使用过它,所以没有经验。我在函数中有那个字符串变量。它说我需要安装Cake PHP,谁能告诉我如何在函数中使用它?

谢谢

【问题讨论】:

  • 你必须使用字典。
  • 使用 Cakes 变形器类:变形器::singularize('People'); // 将显示人
  • @YUNOWORK 更糟糕的是,你需要 AI 来完成这项工作。像“生活”这样的词可以是名词的复数形式,也可以是共轭动词。您需要分析文本以确定它属于哪一个,属于 AI 领域。
  • 如果你从来没有使用过 CakePHP 标签,为什么你要在你的问题中加上它!?
  • 对不起,我放了 CakePHP 标签,因为我发现它可以使用 CakePHP 完成,我在想是否有人可以帮助我使用 CakePHP。

标签: php regex cakephp preg-replace pluralize


【解决方案1】:

在英语中没有简单的方法:考虑Clouds => Cloud, Fortresses => Fortress, Ladies => Lady, Sheep => Sheep。 .. 简单地去掉s 可能会导致问题(例如Lady's)...您可能需要考虑使用Porter Stemmer 或类似的

【讨论】:

    【解决方案2】:

    使用 CakePHP 自带的 Inflector 类。

    debug(Inflector::singularize('People')); // will show person
    

    http://book.cakephp.org/2.0/en/core-utility-libraries/inflector.html#Inflector::singularize

    静态变形器::singularize($plural)

    输入: 苹果、橙子、人、男人

    输出: Apple、Orange、Person、Man

    老实说,我不知道它在内部是如何工作的,但它在英语单词方面做得很好,你甚至可以配置它来处理特殊情况。

    您可以通过使用 Inflector::rules() 定义规则来配置规则的例外:

    Inflector::rules('plural', array('/^(inflect)or$/i' => '\1ables'));
    Inflector::rules('plural', array(
        'rules' => array('/^(inflect)ors$/i' => '\1ables'),
        'uninflected' => array('dontinflectme'),
        'irregular' => array('red' => 'redlings')
    ));
    Inflector::rules('transliteration', array('/å/' => 'aa'));
    

    【讨论】:

    • 它在代码中内置了一系列通用规则和异常作为正则表达式 - github.com/cakephp/cakephp/blob/master/lib/Cake/Utility/…
    • 如何在我的程序中使用它?当我只使用那条线时它会出错。假设如果你有一个空白文档,并且你想将“Apples”这个词单数化,那么你会使用什么代码呢?
    • 嗨 burzum,这是错误:PHP 解析错误:语法错误,意外的 T_STRING,在第 75 行的 /path/to/myfile.php 中需要 T_PAAMAYIM_NEKUDOTAYIM
    猜你喜欢
    • 2018-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-12
    • 2012-03-14
    相关资源
    最近更新 更多