如何防止两个相似的字符在字符串的任何地方同时出现
本文关键字:字符 字符串 方同时 任何地 相似 何防止 两个 | 更新日期: 2023-09-27 18:05:28
我想防止两个类似的字符(例如"@")出现在字符串中的任何地方。这是我的字符串:
static string email = " example@gmail.com";
如果是Moo-Juice的回答,可以使用Linq In CounOf扩展方法:
public static class Extensions
{
public static int CountOf(this string data, Char c)
{
return string.IsNullOrEmpty(data) ? 0 : data.Count(chk => chk == c);
}
}
如果我理解正确的话,您不希望在字符串中出现多于一个的特定字符。您可以编写一个扩展方法来返回特定字符的计数:
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
我真正怀疑你需要的是电子邮件验证:
Regex Email验证
试试这样:
if(!email.Contains("@"))
{
// add the character
}
您可以使用正则表达式…
if (Regex.Match(email, "@.*@")) {
// Show error message
}