Here you can find the source of pluralize(String word)
Parameter | Description |
---|---|
word | The given English word. It can not be null ; |
public static String pluralize(String word)
//package com.java2s; /**//from w ww.ja v a 2 s. c om * Copyright (c) 2014 All Rights Reserved by the SDL Group. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ public class Main { /** * Get the plural for the given English word. * * @param word The given English word. It can not be {@code null}; * @return The plural word. * @see <a href='http://en.wikipedia.org/wiki/English_plurals'>Building English plurals.</a> */ public static String pluralize(String word) { if (word == null) { throw new IllegalArgumentException(); } final String lowerCaseWord = word.toLowerCase(); if (endsWithAny(lowerCaseWord, "s", "sh", "o")) { return word + "es"; } if (lowerCaseWord.endsWith("y") && !lowerCaseWord.endsWith("ay") || endsWithAny(lowerCaseWord, "ey", "oy", "uy")) { return word.substring(0, word.length() - 1) + "ies"; } else { return word + "s"; } } private static boolean endsWithAny(String word, String... endings) { for (String ending : endings) { if (word.endsWith(ending)) { return true; } } return false; } }