段落内のメールアドレスが文字列であると仮定して、名前で置き換えるにはどうすればよいですか?xx@yahoo.com.my = xx、.com、.aeのように
入力="詳細については、abc@yahoo.comまたはdefg@hotmail.euにお問い合わせください"
出力="詳細については、AbcまたはDefgにお問い合わせください"
あなたは正規表現を求めているので、私はあなたに正規表現を与えるつもりです。
Regex regex = new Regex(@"(\.|[a-z]|[A-Z]|[0-9])*@(\.|[a-z]|[A-Z]|[0-9])*");
foreach (Match match in regex.Matches(inputString))
{
// match.Value == "xx@yahoo.com.my"
string name = match.Groups[1]; // "xx"
string domain = match.Groups[2]; // "yahoo.com.my"
}
int end = myString.IndexOf('@');
string name=myString.Substring(0, end);
このようにしてみてください。
ここで部分文字列関数を参照できます>>
Sting input = "contact abc@yahoo.com or defg@hotmail.eu for more details";
String pattern = @"(\S*)@\S*\.\S*";
String result = Regex.Replace(input , pattern , "$1");
public static string ReplaceEmail(string emailBody) {
string scrubbedemailBody = emailBody;
Regex regex = new Regex(@"(\.|[a-z]|[A-Z]|[0-9])*@(\.|[a-z]|[A-Z]|[0-9])*");
scrubbedemailBody = regex.Replace(scrubbedemailBody, match => {
return new string(' ', match.Length);
});
return scrubbedemailBody;
}