2012-08-15 13 views

risposta

33

Qualcosa di simile:

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

è piuttosto semplice ...

+0

semplice è, meglio :) – SiB

+0

e 'trim()' troppo :) – Nishant

+0

Jon, Grazie per l'aiuto rapido e mi ha aiutato. – srini

15

vorrei usare l'ancora ^ insieme replaceFirst():

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

Personalmente mi limiterei a semplici manipolazioni di stringhe che * non * richiedono espressioni regolari. È necessario essere consapevoli del fatto che 'replaceFirst' * richiede * un'espressione regolare, quindi ricorda che un segno di omissione è" inizio stringa ". Preferisco usare espressioni regolari quando hai a che fare con schemi che * non possono * essere facilmente identificati in un modo semplice altrimenti. –

+0

@JonSkeet: Sono d'accordo in linea di principio, ma in questo caso penso che sia più facile e più leggibile dell'uso di un'istruzione 'if' (o di una frase ternaria). Immagino sia una questione di preferenze. – Keppil

+0

Keepil, Grazie per l'aiuto rapido e mi ha aiutato – srini

0

Prova questo

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; 

} 
Problemi correlati