En Java, tengo una variable String.En Java, elimine el primer carácter de la cadena, (coma)
A veces el primer carácter de la cadena es una coma ,
Quiero quitar el primer carácter sólo si es una coma.
¿Cuál es el mejor enfoque para hacer esto?
En Java, tengo una variable String.En Java, elimine el primer carácter de la cadena, (coma)
A veces el primer carácter de la cadena es una coma ,
Quiero quitar el primer carácter sólo si es una coma.
¿Cuál es el mejor enfoque para hacer esto?
Algo así como:
text = text.startsWith(",") ? text.substring(1) : text;
es bastante simple ...
Yo usaría el ancla ^
junto con replaceFirst()
:
niceString = yourString.replaceFirst("^,", "");
Personalmente me quedaría con manipulaciones de cadenas simples que * no * requieren expresiones regulares. Debe tener en cuenta que 'replaceFirst' * toma * una expresión regular, luego recuerde que un símbolo de intercalación es" inicio de cadena ". Prefiero usar expresiones regulares cuando se trata de patrones que * no pueden * identificarse fácilmente de otra manera. –
@JonSkeet: estoy de acuerdo en principio, pero en este caso creo que es más fácil y más legible que usar una declaración 'if' (o declaración ternaria). Supongo que es una cuestión de preferencias. – Keppil
Keepil, gracias por su ayuda rápida y me ayudó – srini
Si tiene commons-lang en la ruta de clases , puede echar un vistazo a StringUtils.removeStart(String str, String remove)
Prueba este
public String methodNoCharacter(String input, String character){
if(input!= null && input.trim().length() > 0)//exist
if(input.startsWith(character))//if start with '_'
return methodNoCharacter(input.substring(1));//recursive for sure!
return input;
}
más simple, mejor :) – SiB
y 'TRIM()' también :) – Nishant
Jon, gracias por la ayuda rápida y me ayudó. – srini