Devo usare Regex.Replace
per rimuovere tutti i numeri e segni da una stringa.Come rimuovere i numeri dalla stringa usando Regex.Replace?
ingresso Esempio: 123- abcd33
uscita Esempio: abcd
Grazie in anticipo.
Devo usare Regex.Replace
per rimuovere tutti i numeri e segni da una stringa.Come rimuovere i numeri dalla stringa usando Regex.Replace?
ingresso Esempio: 123- abcd33
uscita Esempio: abcd
Grazie in anticipo.
provare quanto segue:
var output = Regex.Replace(input, @"[\d-]", string.Empty);
L'identificatore \d
corrisponde semplicemente qualsiasi carattere cifre.
grazie per l'aiuto – Gold
var result = Regex.Replace("123- abcd33", @"[0-9\-]", string.Empty);
È possibile farlo con un LINQ come soluzione invece di un'espressione regolare:
string input = "123- abcd33";
string chars = new String(input.Where(c => c != '-' && (c < '0' || c > '9')).ToArray());
Un test delle prestazioni rapido mostra che questo è circa cinque volte più veloce rispetto all'utilizzo di un'espressione regolare.
Avrei pensato che sarebbe stato il contrario .... interessante. – SirDemon
@SirDemon: Sì, LINQ di solito non è l'opzione più veloce, ma le espressioni regolari hanno un sovraccarico iniziale più elevato. Per le operazioni su stringhe brevi, l'impostazione dell'oggetto RegEx richiede più tempo del lavoro effettivo. – Guffa
@ Guffa Sai come si scala? Diciamo che sui dischi 50k dovrei andare per RegEx? –
Vuoi anche rimuovere il simbolo "-"? Quelli non sono numeri ... – jle