convert - text capitalize java
Primer char a mayúscula (7)
El error de compilación es debido a que los argumentos no se proporcionan correctamente, replaceFirst acepta regx como argumento inicial. [az] {1} coincidirá con una cadena de caracteres alfa simples de longitud 1.
Prueba esto.
betterIdea = userIdea.replaceFirst("[a-z]{1}", userIdea.substring(0,1).toUpperCase())
Posible duplicado:
¿Cómo mayúsculas en cada primera letra de una cadena?
¿La forma más eficiente de hacer el primer personaje de una minúscula String?
Quiero convertir la primera letra de una cadena en mayúscula. Estoy intentando usar replaceFirst () como se describe en JavaDocs, pero no tengo idea de qué se entiende por expresión regular.
Aquí está el código que he intentado hasta ahora:
public static String cap1stChar(String userIdea)
{
String betterIdea, userIdeaUC;
char char1;
userIdeaUC = userIdea.toUpperCase();
char1 = userIdeaUC.charAt(0);
betterIdea = userIdea.replaceFirst(char1);
return betterIdea;
}//end cap1stChar
El error del compilador es que las listas de argumentos difieren en longitudes. Supongo que es porque falta la expresión regular, sin embargo, no sé exactamente qué es eso.
O puedes hacer
s = Character.toUpperCase(s.charAt(0)) + s.substring(1);
Para completar, si quiere usar replaceFirst, intente esto:
public static String cap1stChar(String userIdea)
{
String betterIdea = userIdea;
if (userIdea.length() > 0)
{
String first = userIdea.substring(0,1);
betterIdea = userIdea.replaceFirst(first, first.toUpperCase());
}
return betterIdea;
}//end cap1stChar
Expresiones regulares (abreviado "regex" o "reg-ex") es una cadena que define un patrón de búsqueda.
Lo que replaceFirst()
hace es usar la expresión regular proporcionada en los parámetros y reemplaza el primer resultado de la búsqueda con lo que pase como el otro parámetro.
Lo que quiere hacer es convertir la cadena en una matriz usando el método de clase charAt()
la clase String
, y luego usar Character.toUpperCase()
para cambiar el carácter a mayúsculas (obviamente). Tu código se vería así:
char first = Character.toUpperCase(userIdea.charAt(0));
betterIdea = first + userIdea.substring(1);
O, si te sientes cómodo con el código java más complejo y con una sola línea:
betterIdea = Character.toUpperCase(userIdea.charAt(0)) + userIdea.substring(1);
Ambos hacen lo mismo, que es convertir el primer carácter de userIdea
en un carácter en mayúscula.
String toCamelCase(String string) {
StringBuffer sb = new StringBuffer(string);
sb.replace(0, 1, string.substring(0, 1).toUpperCase());
return sb.toString();
}
public static String cap1stChar(String userIdea)
{
char[] stringArray = userIdea.toCharArray();
stringArray[0] = Character.toUpperCase(stringArray[0]);
return userIdea = new String(stringArray);
}
userIdeaUC = userIdea.substring(0, 1).toUpperCase() + userIdea.length() > 1 ? userIdea.substring(1) : "";
o
userIdeaUC = userIdea.substring(0, 1).toUpperCase();
if(userIdea.length() > 1)
userIdeaUC += userIdea.substring(1);