Sto usando il seguente codice per eliminare qualsiasi cosa diverso da caratteri alfabetici, numeri, punto interrogativo, punto esclamativo, periodi, parentesi, virgole & trattino:
MsgBox(System.Text.RegularExpressions.Regex.Replace("hello to you"s! My # is (442) 523-5584. @$%^*<>{}[]|/?,+-=:;`~", "[^A-Za-z0-9]", ""))
Mi viene in mente questo: hellotoyousMy # is4425235584
Dovrebbe leggere così: ciao a te! Il mio # è (442) 523-5584.?,
risposte:
1 per risposta № 1Aggiungi semplicemente tutti i personaggi alla tua classe di caratteri negata (prendi nota del carattere dello spazio!):
MsgBox(System.Text.RegularExpressions.Regex.Replace("hello to you"s! My # is (442) 523-5584. @$%^*<>{}[]|/?,+-=:;`~", "[^A-Za-z0-9 ?!.(),#-]+", ""))
(Ho anche aggiunto una ripetizione +
alla tua espressione regolare, in modo che possa sostituire i caratteri non consentiti consecutivi in una volta sola)
1 per risposta № 2
Aggiungi uno spazio e altri simboli nella regex:
MsgBox(System.Text.RegularExpressions.Regex.Replace("hello to you"s! My # is (442) 523-5584. @$%^*<>{}[]|/?,+-=:;`~", "[^A-Za-z0-9 ()!.,-?]", ""))
1 per risposta № 3
Regex.Replace("your text", "[^A-Za-z0-9 ?!.(),-]+", "")
[^ A-Za-z0-9?!. (), -] + catturerà tutti i caratteri indesiderati uno dopo l'altro e li sostituirà con ""