C#中字符串中某个字符的左侧

9

如何在C#中从电子邮件地址字符串“feedback@abc.com”中获取“@”字符左侧的内容

谢谢

6个回答

14
string email = "feedback@abc.comm";
int index = email.IndexOf("@");
string user = (index > 0 ? email.Substring(0, index) : "");

2
这种方法相对于Samuel Neff下面稍微更直观的答案有什么优势? - Cowthulhu
1
这个答案提供了Samuel提到的一些“Sanity”检查。在这里,他正在检查实际上是否找到了'@'字符,如果没有找到,则将其设置为String.Empty。我建议将其设置回电子邮件,因为需要删除的字符不存在。然而,这是一个很好的答案。提供了解决方案和额外的验证检查示例。 - Jacob Boyd

6
string username = new System.Net.Mail.MailAddress("feedback@abc.com").User;

6
var email = "feedback@abc.com";
var name = email.Substring(0, email.IndexOf("@"));

你需要进行一些合理性检查,比如确保它不为空,并且你实际上找到了"@"符号。

3

email.Split('@').Last() email.Split('@').First()


2
使用 SubstringIndexOf 方法:
var email = "feedback@abc.com";
var user = email.Substring(0, email.IndexOf("@"))

字符串中的小写字母b。Substring不是_SubString_。 - ᴍᴀᴛᴛ ʙᴀᴋᴇʀ

1

这样做应该可以运行。

string email = "test@testdomain.com";
string user = email.Substring(0, email.IndexOf("@"));

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接