Molto spesso capita di dover troncare una stringa più lunga di un determinato numero di caratteri. Per questo genere di operazione esiste il metodo Substring della classe String. Questo metodo accetta l'indice iniziale e il numero di caratteri che si vogliono prendere di una stringa e ritorna la nuova stringa che corrisponde ai parametri.
var newString = "abc".Substring(0, 2);
In questo esempio, estrapoliamo i primi due caratteri dalla stringa abc e quindi la variabile newString conterrà il valore ab.
Uno dei problemi del metodo substring è che se eccediamo l'indice finale di una stringa, otteniamo un'eccezione. Se ad esempio dalla stringa abc recuperiamo i primi 5 caratteri o recuperiamo 2 caratteri a partire dall'ultimo, il metodo scatena un'eccezione. Se da un lato questa cosa è corretta, dall'altro potremmo voler ignorare il problema e restituire un valore che arriva fino alla fine della stringa. Nel prossimo esempio di codice mostriamo un esempio di come tornare i primi n carattri di una stringa ed evitare un'eccezione se la stringa è più corta.
public static string SmartSubstring(this string input, int length) { if (input == null) return null; if (input.Length > length) return input.Substring(0, length) + " ..."; else return input; }
Il metodo SmartSubstring verifica se il numero di caratteri cercati è superiore alla lunghezza della stringa. In caso positivo torna l'intera stringa, altrimenti torna il numero di caratteri cercati seguito da tre puntini.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.