Java String Pluralize pluralize(String word)

Here you can find the source of pluralize(String word)

Description

Get the plural for the given English word.

License

Open Source License

Parameter

Parameter Description
word The given English word. It can not be null ;

Return

The plural word.

Declaration

public static String pluralize(String word) 

Method Source Code

//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;
    }
}

Related

  1. pluralize(String singular, long number)
  2. pluralize(String singularNoun)
  3. pluralize(String singularNoun)
  4. pluralize(String suggestion)
  5. pluralize(String word)
  6. pluralize(String word, int count)
  7. pluralize(String x, Integer y)
  8. pluralizeName(String name)
  9. pluralName(final String name)