2012-08-15 11 views

Respuesta

33

Algo así como:

text = text.startsWith(",") ? text.substring(1) : text; 

es bastante simple ...

+0

más simple, mejor :) – SiB

+0

y 'TRIM()' también :) – Nishant

+0

Jon, gracias por la ayuda rápida y me ayudó. – srini

15

Yo usaría el ancla ^ junto con replaceFirst():

niceString = yourString.replaceFirst("^,", ""); 
+0

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. –

+0

@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

+0

Keepil, gracias por su ayuda rápida y me ayudó – srini

0

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; 

} 
Cuestiones relacionadas