Here you can find the source of uncapitalize(String str)
Uncapitalizes all the whitespace separated words in a String.
Parameter | Description |
---|---|
str | the String to uncapitalize, may be null |
null
if null String input
public static String uncapitalize(String str)
//package com.java2s; /*/*from ww w .j a va 2 s .co m*/ * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You 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 { /** * <p>Uncapitalizes all the whitespace separated words in a String. * Only the first letter of each word is changed.</p> * * <p>Whitespace is defined by {@link Character#isWhitespace(char)}. * A <code>null</code> input String returns <code>null</code>.</p> * * <pre> * WordUtils.uncapitalize(null) = null * WordUtils.uncapitalize("") = "" * WordUtils.uncapitalize("I Am FINE") = "i am fINE" * </pre> * * @param str the String to uncapitalize, may be null * @return uncapitalized String, <code>null</code> if null String input * @see #capitalize(String) */ public static String uncapitalize(String str) { return uncapitalize(str, null); } /** * <p>Uncapitalizes all the whitespace separated words in a String. * Only the first letter of each word is changed.</p> * * <p>The delimiters represent a set of characters understood to separate words. * The first string character and the first non-delimiter character after a * delimiter will be uncapitalized. </p> * * <p>Whitespace is defined by {@link Character#isWhitespace(char)}. * A <code>null</code> input String returns <code>null</code>.</p> * * <pre> * WordUtils.uncapitalize(null, *) = null * WordUtils.uncapitalize("", *) = "" * WordUtils.uncapitalize(*, null) = * * WordUtils.uncapitalize(*, new char[0]) = * * WordUtils.uncapitalize("I AM.FINE", {'.'}) = "i AM.fINE" * </pre> * * @param str the String to uncapitalize, may be null * @param delimiters set of characters to determine uncapitalization, null means whitespace * @return uncapitalized String, <code>null</code> if null String input * @see #capitalize(String) * @since 2.1 */ public static String uncapitalize(String str, char... delimiters) { int delimLen = delimiters == null ? -1 : delimiters.length; char[] buffer = str.toCharArray(); boolean uncapitalizeNext = true; for (int i = 0; i < buffer.length; i++) { char ch = buffer[i]; if (isDelimiter(ch, delimiters)) { uncapitalizeNext = true; } else if (uncapitalizeNext) { buffer[i] = Character.toLowerCase(ch); uncapitalizeNext = false; } } return new String(buffer); } /** * Is the character a delimiter. * * @param ch the character to check * @param delimiters the delimiters * @return true if it is a delimiter */ private static boolean isDelimiter(char ch, char[] delimiters) { if (delimiters == null) { return Character.isWhitespace(ch); } for (char delimiter : delimiters) { if (ch == delimiter) { return true; } } return false; } }