从具有多个分隔符的字符串中提取单词

时间:2014-12-01 06:29:28

标签: c# linq substring

这是我的网址:

https://videodb.blob.core.windows.net/video/0c7f5ecf-22fc-4032-8ca1-17481f18aaa8_twitter.jpg

现在我想在查询中从我的网址中提取 twitter

  var userDetails = context
      .UserDetails
      .Where(x => x.Email == _userDetails.Email && x.Password == _userDetails.Password)
      .Select(x => 
          new UserDetailsModel
          {
              Filename= x.Videourl
          });

在我的文件名中,我只想在我的查询中使用文件名而不是整个网址。

怎么做?

2 个答案:

答案 0 :(得分:2)

您可以尝试:

string url = "https://videodb.blob.core.windows.net/video/0c7f5ecf-22fc-4032-8ca1-17481f18aaa8_twitter.jpg";
string fileName = url.Substring(url.LastIndexOf('_') + 1);

这将返回twitter.jpg

如果您需要没有扩展名的文件名:

string fileNameWithoutExtention = System.IO.Path.GetFileNameWithoutExtension(fileName);

它会给你twitter

答案 1 :(得分:0)

除了阿尔沙德所做的,你也可以这样做。

string url = "https://videodb.blob.core.windows.net/video/0c7f5ecf-22fc-4032-8ca1-17481f18aaa8_twitter.jpg";
string[] delimitedString = url.Split('_');
string fileName = delimitedString[delimitedString.Length - 1].Split('.')[0];