-1

我想防止两个类似的字符,例如“@”出现在我的字符串中的任何地方。我怎么能做到这一点。这是我的字符串:

    static string email = " example@gmail.com";
4

4 回答 4

2

如果是 Moo-Juice 的回答,您可以在 CounOf 扩展方法中使用 Linq:

public static class Extensions
{
    public static int CountOf(this string data, Char c)
    {
        return string.IsNullOrEmpty(data) ? 0 : data.Count(chk => chk == c);
    }
}
于 2013-03-24T15:20:19.663 回答
1

如果我理解正确,您不希望字符串中特定字符出现多次。您可以编写一个扩展方法来返回特定字符的计数:

public static class Extensions
{
    public static int CountOf(this string data, Char c)
    {
        int count = 0;
        foreach(Char chk in data)
        {
            if(chk == c)
               ++count;
        }
        return count;
    }
}

用法:

string email = "example@gmail.com";
string email2 = "example@gmail@gmail.com";
int c1 = email.CountOf('@'); // = 1
int c2 = email2.CountOf('@'); // = 2

我真正怀疑您需要的是电子邮件验证:

正则表达式电子邮件验证

于 2013-03-24T15:14:03.793 回答
0

尝试这样的事情:

if(!email.Contains("@"))
{
    // add the character
}
于 2013-03-24T15:08:43.043 回答
0

你可以使用正则表达式...

if (Regex.Match(email, "@.*@")) {
    // Show error message
}
于 2013-03-24T15:15:01.020 回答