2

段落内のメールアドレスが文字列であると仮定して、名前で置き換えるにはどうすればよいですか?xx@yahoo.com.my = xx、.com、.aeのように

入力="詳細については、abc@yahoo.comまたはdefg@hotmail.euにお問い合わせください"

出力="詳細については、AbcまたはDefgにお問い合わせください"

4

4 に答える 4

2

あなたは正規表現を求めているので、私はあなたに正規表現を与えるつもりです。

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"
}
于 2013-03-25T10:04:40.237 に答える
1
int end = myString.IndexOf('@');

string name=myString.Substring(0, end);

このようにしてみてください。

ここで部分文字列関数を参照できます>>

http://www.dotnetperls.com/substring

于 2013-03-25T09:56:20.483 に答える
0
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");
于 2013-03-25T10:04:23.643 に答える
0
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;
    }
于 2017-04-27T20:55:08.553 に答える