una saber primera palabra minusculas mayusculas mayuscula manejo letra convertir contar cadenas cada java string capitalize

java - saber - primera letra de cada palabra en mayuscula mysql



Haz que la primera letra sea mayúscula en java. (8)

A partir de ahora estoy usando este código para hacer mi primera letra en una cadena de mayúsculas

String output = input.substring(0, 1).toUpperCase() + input.substring(1);

Esto me parece muy sucio ... hay una manera directa o elegante ...


Asumiendo que puedes usar Java 8, esta es la forma funcional que nadie pidió ...

import java.util.Optional; import java.util.stream.IntStream; public class StringHelper { public static String capitalize(String source) { return Optional.ofNullable(source) .map(str -> IntStream.concat( str.codePoints().limit(1).map(Character::toUpperCase), str.codePoints().skip(1))) .map(stream -> stream.toArray()) .map(arr -> new String(arr, 0, arr.length)) .orElse(null); } }

Es elegante porque maneja los casos de cadena nula y vacía sin ninguna declaración condicional.


Debes echarle un vistazo a la clase StringUtils de Apache Commons Lang lib - tiene el método StringUtils.capitalize()

Descripción de la biblioteca:

Pone en mayúscula una cadena que cambia la primera letra al título de caso según Character.toTitleCase (char). No se cambian otras letras.


Qué tal esto:

String output = Character.toUpperCase(input.charAt(0)) + input.substring(1);

No puedo pensar en nada más limpio sin usar bibliotecas externas, pero esto es definitivamente mejor que lo que tienes actualmente.


Toma mi cerveza

String foo = "suresh"; String bar = foo.toUpperCase(); if(bar.charAt[0] == ''S''){ throw new SuccessException("bar contains ''SURESH'' and has the first letter capital"). }


Character.toString(a.charAt(0)).toUpperCase()+a.substring(1)

PS = a es una cadena.


String out = Character.toUpperCase(inText.charAt(0)) + inText.substring(1).toLowerCase();


class strDemo3 { public static void main(String args[]) { String s1=new String(" the ghost of the arabean sea"); char c1[]=new char[30]; int c2[]=new int[30]; s1.getChars(0,28,c1,0); for(int i=0;i<s1.length();i++) { System.out.print(c1[i]); } for(int i=1;i<s1.length();i++) { c2[i]=c1[i]; if(c1[i-1]=='' '') { c2[i]=c2[i]-32; } c1[i]=(char)c2[i]; } for(int i=0;i<s1.length();i++) { System.out.print(c1[i]); } } }


public static void main(String[] args) { String str = null; String outStr = null; Scanner sc = new Scanner(System.in); System.out.println("Enter a String: "); str = sc.nextLine(); //c= Character.toUpperCase(str.charAt(0)); for(int i=0; i< (str.length());i++){ if(str.charAt(i)=='' ''){ outStr= outStr.substring(0,i+1)+str.substring(i+1,i+2).toUpperCase()+str.substring(i+2); }else if(i==0){ outStr=str.substring(0,1).toUpperCase()+str.substring(1); } } System.out.println("STRING::"+outStr); }