我将使用表达式
Regex.Replace();
将其余部分替换为"。
输入:http://therealzenstar.blogspot.fr输出:blogspot.fr
只是重复Jens的评论,我们必须猜测:当出现额外的信息时,您期望的输出是什么,例如http://therealzenstar.blogspot.fr/somedata.html
。还是blogspot.fr
吗?这些例子需要解决吗?
你说你想用""
代替"其他一切"。Replace()
将替换所有与您想要的匹配的内容。因此,要用""
替换它,您需要匹配不想要的的所有内容。这是可能的,但是,它更容易捕获你想要的,并替换所有匹配的$1。
假设您总是只需要domain.xx
,即使出现更多信息。类似这样的代码可以工作:^(?:https?://)?[^/s]*.([^.s/]*.[^.s/]*)(?:$|/.*)
,如所示:https://regex101.com/r/hN8iQ7/1
如果您的域还包括具有多个扩展名的域,则会出现问题。即domain.co.uk
。您需要具体地处理它们(命名它们),因为很难概括一种方法来区分这些项。
^(?:https?://)?[^/s]*?.([^.s/]*.(?:co.uk|[^.s/]*))(?:$|/.*)
-添加.co.uk
选项。https://regex101.com/r/hN8iQ7/2。
yourregex.Replace(yourstring, "$1")
可以做你需要的。