2011-12-13 16 views

risposta

30

È possibile utilizzare il metodo IndexOf(), che prende in un tipo StringComparison:

string s = "foobarbaz"; 
int index = s.IndexOf("BAR", StringComparison.CurrentCultureIgnoreCase); // index = 3 

Se non è stata trovata la stringa, IndexOf() restituisce -1.

3

Contains restituisce un valore booleano se viene trovata una corrispondenza. Se si desidera cercare senza distinzione tra maiuscole e minuscole, è possibile rendere la stringa di origine e la stringa in modo che corrispondano sia in maiuscolo o minuscolo prima della corrispondenza.

Esempio:

if(sourceString.ToUpper().Contains(stringToFind.ToUpper())) 
{ 
    // string is found 
} 
0

stringToSearch.ToLower().Contains(stringToSearchFor.ToLower())

0
string myString = "someTextorMaybeNot"; 
myString.ToUpper().Contains("text".ToUpper()); 
5

Non c'è nessun caso la versione insensibile. Usa l'indice di (o una regex).

string string1 = "my string"; 
string string2 = "string"; 
bool isContained = string1.IndexOf(string2, StringComparison.OrdinalIgnoreCase) >= 0; 

StringComparison.OrdinalIgnoreCase è generalmente utilizzato per altro testo "programmatico", come i percorsi o costanti che si potrebbe avere generato ed è il mezzo più veloce di confronto tra stringhe. Per le stringhe di testo che sono di uso linguistico StringComparison.CurrentCultureIgnoreCase o StringComparison.InvariantCultureIgnoreCase.

Problemi correlati