Creare un extension method per effettuare in modo sicuro il substring di una stringa

di Stefano Mostarda, in .NET Framework,

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

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

Nessuna risorsa collegata

I più letti di oggi