我有一个动态数据填充我的ASP.net应用程序中的表。在某些数据字段中,我有电子邮件地址。数据是一个字符串数组。
我的问题是,是否有任何方法可以在这些数组中找到这些电子邮件地址字符串并在需要时创建超链接。
感谢您的帮助。
答案 0 :(得分:4)
在C#中,您可以使用Local IP: 192.168.1.123
Public IP: 203.0.113.1
Port mapping 0: (8908, 'TCP', ('192.168.1.123', 9100), 'tcp_map', '1', '', 0)
Port mapping 1: (22222, 'UDP', ('192.168.1.123', 22222), 'udp_map', '1', '', 0)
Added port mapping: TCP 203.0.113.1:1234 -> 192.168.1.123:4321
以字符串形式查找所有电子邮件地址,一旦发现您可以使用以下代码之类的链接替换它。
Regex
现在您的数据将如下所示。
string data = "some dummy text with email pk@email.com and one more email pk2@gmail.com and another one thirdemail@domain.com plus some more text.";
Regex emailRegex = new Regex(@"\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*",
RegexOptions.IgnoreCase);
MatchCollection emailMatches = emailRegex.Matches(data);
foreach (Match emailMatch in emailMatches)
{
data= data.Replace(emailMatch.Value, string.Format("<a href ='mailto:{0}'>{0}</a>", emailMatch.Value));
}
//Use data, now it is formatted with email