问题不仅仅是从字符串中识别电子邮件地址。它是关于用公司电子邮件地址替换找到的电子邮件地址。
例如。如果我有一个字符串如下:
“嗨,我的名字是John Martin。我是画家和雕塑家。如果你想购买我的画作,请在网站上查看我的作品集,然后通过 john@gmail.com与我联系“
我想用
替换上面的字符串“嗨,我的名字是John Martin。我是画家和雕塑家。如果你想购买我的画作,请在网站上查看我的作品集,然后通过 support@companyname.com与我联系“
答案 0 :(得分:3)
以下代码会将与该模式匹配的所有电子邮件字符串替换为您的电子邮件ID,Regex
类可以在System.Text.RegularExpressions
命名空间
Regex emailReplace = new Regex(@"[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,6}", RegexOptions.IgnoreCase);
emailReplace.Replace("YOUR TEXT HERE", "support@companyname.com");
答案 1 :(得分:1)
public String GetEMailAddresses(string Input)
{
System.Text.RegularExpressions.MatchCollection MC = System.Text.RegularExpressions.Regex.Matches(Input, "\\w+([-+.']\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*");
if(MC.Count > 0)
return MC[0].Value;
return "";
}
您可以使用上述方法找到电子邮件地址。如果它返回“”之外的其他内容,则表示它是一个电子邮件地址。现在,您只需使用String.Replace方法将旧版本替换为新的电子邮件地址
即可string input = "Hi, My name is John Martin. I am a painter and sculptor. If you wish to purchase my paintings please look at my portfolio on the site and then contact me on support@companyname.com";
string email = GetEMailAddresses(input);
input = input.Replace(email, "support@companyname.com");