「@」などの 2 つの類似した文字が文字列のどこにも出現しないようにしたいと考えています。どのように私はそれを行うことができます.これは私の文字列です:
static string email = " example@gmail.com";
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);
}
}
私の理解が正しければ、文字列内に特定の文字が複数回出現することは望ましくありません。特定の文字のカウントを返す拡張メソッドを作成できます。
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
あなたが本当に必要だと思うのは、電子メールの検証です。
次のようなことを試してください:
if(!email.Contains("@"))
{
// add the character
}
正規表現を使用できます...
if (Regex.Match(email, "@.*@")) {
// Show error message
}