Как я могу получить притяжательную форму существительного? - PullRequest
4 голосов
/ 25 января 2010

Вот алгоритм добавления апострофа к данному входному существительному.

Как бы вы построили строку, чтобы показать право собственности?

<code>/**
 * apostrophizes the string properly
 * <pre>
 * curtis = curtis'
 * shaun = shaun's
 * 
* * @param входная строка для апострофизации * @return апострофизированная строка или пустая строка, если ввод был пустым или нулевым. * / public static String apostrophize (String input) { if (isEmpty (input)) return ""; if ("s" .equalsIgnoreCase (StringUtils.right (input, 1))) { возврат ввода + "'"; } еще { возврат ввода + "s"; } }

Ответы [ 3 ]

4 голосов
/ 26 января 2010

Как бы вы построили строку, чтобы показать право собственности?

Альтернативы:

  • Избегайте проблемы, избегая необходимости генерировать притяжательное для какого-либо произвольного слова или имени. Это то, что я бы сделал ... если бы я не чувствовал мазохизма.

  • Выполните простую работу, которая ( неизбежно ) приведет к английскому языку, который в некоторых случаях не пройдёт тест «хорошего стиля». И будьте готовы отвлекать жалобы от бесконечного потока дингбатов, которые не имеют ничего общего со своим временем, чем жалуются на плохой стиль / грамматику.

  • Потратьте долгое время на создание инфраструктуры, способной анализировать слова на единственное / множественное число, обычное существительное / собственное существительное и т. Д. И т. Д., А затем реализовать правила стиля в соответствии с синтаксическим / семантическим анализом текста, которым вы являетесь порождающее. (А затем повторите весь процесс для каждого естественного языка, который ваш веб-сайт ... или любой другой ... нуждается в поддержке.)

2 голосов
/ 25 января 2010

Нет, это не грамматически правильно. Кертис - это правильный способ сказать, что что-то принадлежит Кертису, поскольку Кертис является единственным. Если существительное во множественном числе, вы бы использовали конечный апостроф для обозначения притяжательного.

Edit: Шон, по моему наиболее скромному мнению, как человек с опытом работы в качестве писателя и редактора английского языка, а также программиста, я не чувствую, что есть простой ответ на эту проблему. Я не считаю правильным писать «Кертис», чтобы выразить притяжательное, и я также чувствую, что существует широко распространенное, хотя и не универсальное, соглашение по этому вопросу.

Настоящая работа любого алгоритмического подхода к решению этой проблемы состоит в определении того, является ли существительное единственного или множественного числа, и это чрезвычайно трудная задача, которая выходит за рамки ответа StackOverflow. Желаем удачи.

1 голос
/ 31 января 2010

Перевернутая форма более стабильна

 String.Format("The {1} of {0}", owner, item);
...