ho questo
regex Regex.Replace(listing.Company, @"[^A-Za-z0-9_.~]+", "-");
listing.Company è una stringa, funziona ma quando una stringa ha punti non li rimuove.
Mi potrebbe aiutare
risposte:
2 per risposta № 1Nella tua espressione regolare, hai .
nella tua esclusione, che farà sì che venga ignorato da Regex.Replace
. Inoltre, il tuo regex non fa nulla per convertire la stringa di input in lettere minuscole. Puoi farlo in seguito, ma farlo prima che la tua sostituzione renda più semplice il tuo schema.
Prova questo metodo:
var output = Regex.Replace(listing.Company.ToLower(), "[^a-z0-9_]+", "-");
1 per risposta № 2
provare
Regex.Replace(listing.Company.ToLower(), @"[^a-z0-9_]+", "-");
stai escludendo .
che è per punto. Inoltre, se lo si desidera in lettere minuscole, è necessario prima convertire la stringa in lettere minuscole.
0 per risposta № 3
Forse stai cercando qualcosa di simile a questo:
string res = Regex.Replace(listing.Company, @"[W+.~]", "-");
Qui il motore regex cercherà qualsiasi carattere diverso da A-Z, a-z, underscore
insieme a dot
e ~
e lo sostituirà con "-".