Ich muss den Domain-Namen von einer Zeichenfolge analysieren. Die Zeichenfolge kann variieren und ich brauche die genaue Domäne.
Beispiele für Strings:
%Vor% Ich brauche es im folgenden Format nur mit dem Domain-Namen, dem tld
und dem www
, falls zutreffend:
Wie mache ich das mit C #?
ich benutze einfach
%Vor%weil Sie damit sicher umgehen können.
Als Alternative zu einer Regex-Lösung können Sie die System.Uri
-Klasse die Zeichenfolge für Sie parsen lassen. Sie müssen nur sicherstellen, dass die Zeichenfolge ein Schema enthält.
Diese Lösung filtert auch alle Portnummern heraus und konvertiert IPv6-Adressen in ihre kanonische Form.
Ich habe die Bibliothek für reguläre Ausdrücke ausgecheckt, und es sieht so aus, als ob so etwas für Sie funktionieren könnte:
%Vor%Versuchen Sie Folgendes:
%Vor%Dies ist ein schwacher Regex - es validiert die Zeichenfolge nicht, sondern nimmt an, dass es bereits eine URL ist, und erhält das erste Wort bis zum ersten Schrägstrich, während das Protokoll ignoriert wird. Um die Domain auf die erste erfasste Gruppe zu überprüfen, zum Beispiel:
%Vor% Als Bonus gibt es auch bis zum ersten ?
, also funktioniert die URL google.com?hello=world
wie erwartet.