【发布时间】:2025-12-10 00:45:01
【问题描述】:
所以我想替换一个普通的电子邮件,例如:"teste123@test.com" 到
“teste123 null@test.com"`
直到现在我才知道:
string expression = @"(([^<>()\[\]\\.,;:\s@']+(\.[^<>()\[\]\\.,;:\s@']+)*)|('.+'))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))";
Regex rx = new Regex(expression);
MatchCollection matches = rx.Matches(conteudo.PaginaConteudo);
Console.WriteLine("{0} matches found in:\n {1}",
matches.Count,
conteudo.PaginaConteudo);
string email,
replacement = "<h5 style='display:none;'>null</h5>",
mailenc,
correctString;
foreach (Match emails in matches)
{
email = emails.Value;
mailenc = "<h5>"+email + replacement+"</h5>";
correctString = conteudoOriginal.PaginaConteudo.Replace(email, mailenc);
conteudoOriginal.PaginaConteudo = correctString;
}
【问题讨论】:
-
拆分
@并添加您的字符串或使用 msdn.microsoft.com/en-us/library/… 并添加您的字符串。 -
这段代码有什么问题?什么是预期的输出?您想在代码中替换哪个电子邮件?
-
您永远不应该将 html 代码写成 C# 中的字符串。您正在代码中进行“UI 样式化”,这是可怕的关注点分离。为此使用 CSS。您还编写了一半缺少的代码,您在那里使用了一个正则表达式,我们看不到它:(
-
就像我一样,我希望输出从“teste123@test.com”到“teste123 null@test.com"`
-
如果邮件模板比较复杂,您仍然可以使用许多模板处理器的one。
标签: c# asp.net-mvc model-view-controller