Apply proper uppercase and lowercase on a StringTag(s): String/Number

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class StringUtils {

  public static String upperCaseWordFirst(String str) {
    StringBuffer sb = new StringBuffer();
    Matcher m = Pattern.compile
        ("([a-z])([a-z]*)",Pattern.CASE_INSENSITIVE).matcher(str);
    while (m.find()) {
        m.appendReplacement(sb, m.group(1).toUpperCase()
            + m.group(2).toLowerCase()) ;
    }
    str = m.appendTail(sb).toString();
    return str;
  }

  public static void main(String [] args)  {
     System.out.println(StringUtils.upperCaseWordFirst("  #600how-to"));
     System.out.println(StringUtils.upperCaseWordFirst("ELVis preSLEY"));
     System.out.println(StringUtils.upperCaseWordFirst("john o'connor & steeve mcmillan"));
     /*
     output :

       #600How-To
     Elvis Presley
     John O'Connor & Steeve Mcmillan

     for the "mcmillan", well this may be not enough and you will need
     to process it as a special case if needed...
    */
  }
}



If you find this article useful, consider making a small donation
to show your support for this Web site and its content.

Written and compiled by Réal Gagnon ©1998-2012
[ home ]