在文本框中,我保留电子邮件地址。 例如如何从文本中拆分电子邮件地址?
Text_box.value="[email protected],[email protected],[email protected]"
如何拆分所有电子邮件地址?我应该使用正则表达式吗?
最后,我想保持其正确的用户编码的任何电子邮件地址
在文本框中,我保留电子邮件地址。 例如如何从文本中拆分电子邮件地址?
Text_box.value="[email protected],[email protected],[email protected]"
如何拆分所有电子邮件地址?我应该使用正则表达式吗?
最后,我想保持其正确的用户编码的任何电子邮件地址
这将只打印匹配的电子邮件地址,而不是与之不匹配的地址。
private void Match()
{
Regex validationExpression = new Regex(@"\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*");
string text = "[email protected];[email protected],[email protected],[email protected],[email protected],what,[email protected]";
MatchCollection matchCollection = validationExpression.Matches(text);
foreach (var matchedEmailAddress in matchCollection)
{
Console.WriteLine(matchedEmailAddress.ToString());
}
Console.ReadLine();
}
这将打印
[email protected]
[email protected]
[email protected]
其他的事情就不会被正则表达式匹配。
"[email protected],[email protected],[email protected]".Split(',');
string[] s=Text_box.Text.split(',');
Regex R=new Regex("\b[A-Z0-9._%+-][email protected][A-Z0-9.-]+\.[A-Z]{2,4}\b");
var temp=from t in s where R.IsMatch(t) select t;
List<string> final=new List<string>();
final.addrange(temp);
使用本
string[] emails = list.Split(new char[]{','});
如果您检查Split()方法,您会注意到char []参数中的“params”关键字。这可以让你走: list.Split(','); OR list.Split(',','|');等等 – 2010-12-10 12:29:50
有两种方式来分割的字符串。
1)每个字符串类型的对象都有一个名为的方法Split()它接受字符或字符串数组的数组。这个数组的元素用于分割给定的字符串。
string[] parts = Text_box.value.Split(new char[] {','});
2)尽管在这个例子中string.Split()就足够了,但是我们可以使用正则表达式实现相同的结果。正则表达式分割为:
string[] parts = Regex.Split(Text_box.value,@",");
您必须使用正确的正则表达式来查找所有形式的电子邮件地址(带拉丁字母)。 请在维基百科(http://en.wikipedia.org/wiki/Email_address)上查找正确的电子邮件地址语法(更简单的方法)或RFC5322,5321(很难理解)。
我使用这个:
(?:[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*|""(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*"")@(?:(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?\.)+[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-zA-Z0-9-]*[a-zA-Z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])
怎么样的正则表达式? – 2010-12-10 12:20:25
拆分就足够了 – ratty 2010-12-10 12:22:20
@Andrew Collins - 现在你有两个问题... – RYFN 2010-12-10 12:24:46