Manipolazione di stringhe

Manipolazione di stringhe

# Sostituzione di una stringa all'interno di una stringa

Usando il System.String.Replace metodo, puoi sostituire parte di una stringa con un'altra stringa.

string s = "Hello World";
s = s.Replace("World", "Universe"); // s = "Hello Universe"

Tutte le occorrenze della stringa di ricerca vengono sostituite:

string s = "Hello World";
s = s.Replace("l", "L"); // s = "HeLLo WorLD"

String.Replace può essere utilizzato anche per rimuovere parte di una stringa, specificando una stringa vuota come valore sostitutivo:

string s = "Hello World";
s = s.Replace("ell", String.Empty); // s = "Ho World"

# Modifica delle maiuscole e minuscole dei caratteri all'interno di una stringa

Il System.String class supporta una serie di metodi per convertire tra caratteri maiuscoli e minuscoli in una stringa.

  • System.String.ToLowerInvariant viene utilizzato per restituire un oggetto String convertito in minuscolo.

  • System.String.ToUpperInvariant viene utilizzato per restituire un oggetto String convertito in maiuscolo.

Nota: Il motivo per utilizzare l'invariante versioni di questi metodi serve a prevenire la produzione di lettere specifiche della cultura impreviste. Questo è spiegato qui in dettaglio.

Esempio:

string s = "My String";
s = s.ToLowerInvariant(); // "my string"
s = s.ToUpperInvariant(); // "MY STRING"

Tieni presente che puoi scegli di specificare una specifica Cultura durante la conversione in minuscolo e maiuscolo utilizzando i metodi String.ToLower(CultureInfo) e String.ToUpper(CultureInfo).

# Trovare una stringa all'interno di una stringa

Usando il System.String.Contains puoi scoprire se una stringa particolare esiste all'interno di una stringa. Il metodo restituisce un valore booleano, true se la stringa esiste altrimenti false.

string s = "Hello World";
bool stringExists = s.Contains("ello");  //stringExists =true as the string contains the substring 

Usando il System.String.IndexOf metodo, è possibile individuare la posizione iniziale di una sottostringa all'interno di una stringa esistente.
Nota che la posizione restituita è in base zero, viene restituito un valore di -1 se la sottostringa non viene trovata.

string s = "Hello World";
int location = s.IndexOf("ello"); // location = 1

Per trovare la prima posizione dalla fine di una stringa, usa il System.String.LastIndexOf metodo:

string s = "Hello World";
int location = s.LastIndexOf("l"); // location = 9

# Rimozione (rifilatura) di spazi bianchi da una stringa

Il System.String.Trim può essere utilizzato per rimuovere tutti gli spazi vuoti iniziali e finali da una stringa:

string s = "     String with spaces at both ends      ";
s = s.Trim(); // s = "String with spaces at both ends"

Inoltre:

  • Per rimuovere gli spazi vuoti solo dall'**inizio** di una stringa, utilizzare:[`System.String.TrimStart`](https://msdn.microsoft.com/en-us/library/system.string .trimstart(v=vs.110).aspx)
  • Per rimuovere gli spazi vuoti solo dalla **fine** di una stringa, utilizzare:[`System.String.TrimEnd`](https://msdn.microsoft.com/en-us/library/system.string .trimend(v=vs.110).aspx)
  • Sottostringa per estrarre parte di una stringa.

    Il System.String.Substring può essere utilizzato per estrarre una parte della stringa.

    string s ="A portion of word that is retained";
    s=str.Substring(26);  //s="retained"
    
    s1 = s.Substring(0,5);  //s="A por"
    
    

    # Dividere una stringa usando un delimitatore

    Usa il System.String.Split metodo per restituire un array di stringhe che contiene sottostringhe della stringa originale, suddivise in base a un delimitatore specificato:

    string sentence = "One Two Three Four";
    string[] stringArray = sentence.Split(' ');
    
    foreach (string word in stringArray)
    {
        Console.WriteLine(word);    
    }
    
    

    Uscita:

    Uno
    Due
    Tre
    Quattro

    # Concatena un array di stringhe in una singola stringa

    Il System.String.Join il metodo consente di concatenare tutti gli elementi in un array di stringhe, utilizzando un separatore specificato tra ogni elemento:

    string[] words = {"One", "Two", "Three", "Four"};
    string singleString = String.Join(",", words); // singleString = "One,Two,Three,Four"
    
    

    # Concatenazione di stringhe

    La concatenazione di stringhe può essere eseguita utilizzando il System.String.Concat metodo, o (molto più semplice) usando il + operatore:

    string first = "Hello ";
    string second = "World";
    
    string concat = first + second; // concat = "Hello World"
    concat = String.Concat(first, second); // concat = "Hello World"