如何获得某个字符后的子字符串

时间:2013-01-04 01:29:48

标签: c# asp.net

我需要从我的asp.net mvc web应用程序中的电子邮件中提取公司名称: - 例如,如果我有email address = myeamil@mycompanyname.com

获得首字母大写的Mycompanyname? BR

4 个答案:

答案 0 :(得分:7)

string address = "myeamil@mycompanyname.com";
string name = address.Split('@')[1].Split('.')[0];
name = name.Substring(0,1).ToUpper() + name.Substring(1); // Mycompanyname

获取名字的另一个选择是正则表达式:

var name = Regex.Match(address, @"@([\w-]+).").Groups[1].Value

答案 1 :(得分:3)

要摆脱@及之前的一切,你会在你的特定情况下使用这样的东西:

string test = "myeamil@mycompanyname.com";
            test = test.Substring(test.IndexOf('@')+1, test.IndexOf(".") -(test.IndexOf('@')+1));
            MessageBox.Show(test);

并且this解释了如何使第一个字母成为资本,在剥离@和.com部分后将使用它。

答案 2 :(得分:2)

只是另一种变体

var name = new MailAddress("myeamil@mycompanyname.com").Host.Split('.').First();
name = name.First().ToString().ToUpper() + String.Join("", name.Skip(1));

答案 3 :(得分:0)

string email = "myemail@mycompanyname.com";
int startIndex = email.IndexOf( "@" );
int endIndex = email.IndexOf( ".", startIndex );
string domain = email.SubString( startIndex + 1, endIndex );
string domain = CultureInfo.CurrentCulture.TextInfo.ToTitleCase(domain);

这将返回我的公司名称