我有一个如下所示的电子邮件ID
string email=test.mail@test.com;
string myText = email.split(".");
我不确定是谁拆分了前两个字符,然后在句点或点后跟两个字符。
myText = tema //(desired output)
答案 0 :(得分:3)
使用LINQ;)
string myText = string.Join("", email.Remove(email.IndexOf('@')).Split('.')
.Select(r =>new String(r.Take(2).ToArray())));
@
,(包括@
) .
String
构造函数,创建字符串String.Join
组合返回的字符串元素。 答案 1 :(得分:2)
另一个Linq解决方案:
string first = new string(email.Take(2).ToArray());
string second = new string(email.SkipWhile(c => c != '.').Skip(1).Take(2).ToArray());
string res = first + second;
答案 2 :(得分:1)
string.Join(string.Empty, email.Substring(0, email.IndexOf("@")).Split('.').Select(x => x.Substring(0, 2)));
答案 3 :(得分:1)
这里有很多创意答案,但最重要的一点是Split()
是这项工作的错误工具。使用Replace()
:
myText = Regex.Replace(email, @"^(\w{2})[^.]*\.(\w{2})[^.]*@.+$", "$1$2");
请注意,我在这里做了很多简化假设。最重要的是,我假设原始字符串包含电子邮件地址而没有其他内容(您没有搜索它),字符串格式正确(您没有尝试验证它),并且这两个子字符串都是您的对从至少两个单词字符开始感兴趣。