C# 从链接中提取用户名?

C# 从链接中提取用户名?,c#,.net,C#,.net,我正在尝试从配置文件链接中提取用户名 配置文件链接示例: 我不知道它是否有http,https,以斜杠结尾,可能有很多东西。它可能有/photo/tkf39vk3或任何东西。有没有任何一个固定的正则表达式可以帮到这一点?其他问题没有帮助 到目前为止我试过什么 ((?:[^.](?<!www))+)\.site\.com ((?:[^.])(?)? 它可以获取所有内容,但不包括http或https?一种快速的方法,但最好的方法可能不是在/上拆分它,然后再在上拆分它 string profi

我正在尝试从配置文件链接中提取用户名

配置文件链接示例:

我不知道它是否有http,https,以斜杠结尾,可能有很多东西。它可能有
/photo/tkf39vk3
或任何东西。有没有任何一个固定的正则表达式可以帮到这一点?其他问题没有帮助

到目前为止我试过什么

((?:[^.](?<!www))+)\.site\.com
((?:[^.])(?)?

它可以获取所有内容,但不包括http或https?

一种快速的方法,但最好的方法可能不是在
/
上拆分它,然后再在
上拆分它

string profileLink = "https://username.site.com";

var list = profileLink.Split(new string[] { @"//" }, StringSplitOptions.None);
var result = list[1].Split('.');
Console.WriteLine(result[0]);

一个快速的方法是在
/
上拆分它,然后再在
上拆分它,这可能不是最好的方法

string profileLink = "https://username.site.com";

var list = profileLink.Split(new string[] { @"//" }, StringSplitOptions.None);
var result = list[1].Split('.');
Console.WriteLine(result[0]);

我的方法是利用和类:

这将产生:

用户名1

用户名2

用户名

用户名3

用户名4

当然,你必须对我的解决方案有一个合理的输入期望(你也必须对regex这样做),但是你可以通过一些调整使它更加健壮。我只是想展示最简单的解决方案


Fiddle

我的方法是利用和类:

这将产生:

用户名1

用户名2

用户名

用户名3

用户名4

当然,你必须对我的解决方案有一个合理的输入期望(你也必须对regex这样做),但是你可以通过一些调整使它更加健壮。我只是想展示最简单的解决方案


Fiddle

如果你使用
Uri
类,这会容易得多用正则表达式解决问题通常就像用酒解决问题一样,但至少用酒你会交朋友。”有些人在遇到问题时会想“我知道,我会用正则表达式。”现在他们有两个问题了-杰米Zawinski@EdPlunkett-你可以想说什么就说什么,但这句话肯定会在我脑海中闪过,至少让我对使用正则表达式进行二次猜测。不需要喝酒。这不是要完全取消正则表达式,而是不要把它作为第一种手段。@BrootsWaymb说真的,正则表达式可能是无效的如果你使用
Uri
类解决正则表达式的问题通常就像用酒解决问题一样,但至少用酒你可以交朋友。”有些人在遇到问题时会想“我知道,我会使用正则表达式。”现在他们有两个问题-杰米Zawinski@EdPlunkett-你可以想说什么就说什么,但这句话肯定会在我脑海中闪过,至少让我对使用正则表达式进行二次猜测。不需要喝酒。这不是要完全取消正则表达式,而是不要把它作为第一种手段。@BrootsWaymb说真的,正则表达式可能是无效的我认为这意味着他们不知道它是http还是https。如果这意味着它们都不可能,那么这个解决方案就不起作用。我认为这意味着他们不知道它是http还是https。如果这意味着它们都不可能,那么这个解决方案就不起作用