如何检查字符串c#中重复出现的字符



我正在开发一个电子邮件验证,并想检查电子邮件中是否有超过1@的符号,我该如何实现?

static string Check(string email)
{

if (email.Contains("@") && email.Contains("."))
{
// check for 2 @ symbols or more will be here

return email;
}
return string.Empty;
}

通常情况下,您不应该重新发明轮子,尤其是对于电子邮件验证这样的复杂主题。使用可用的正则表达式或MailAddress构造函数。

然而,为了回答你的问题,如果你真的需要这样的东西(用于其他任务(,你可以实现这样的扩展方法:

public static IList<int> AllIndexOf(this string text, string str, StringComparison comparisonType)
{
IList<int> allIndexOf = new List<int>();
int index = text.IndexOf(str, comparisonType);
while(index != -1)
{
allIndexOf.Add(index);
index = text.IndexOf(str, index + 1, comparisonType);
}
return allIndexOf;
}

有了这个就很容易了:

if(email.AllIndexOf("@", StringComparison.OrdinalIgnoreCase).Count > 1)
{
// ...
}

相关内容

  • 没有找到相关文章

最新更新