如何将像Name@yahoo.com
这样的字符串解析为消息框
Name: Name
Doman: yahoo.com
(没有@符号)
我知道如何设置消息框等,但我很难弄清楚如何将电子邮件字符串分成两个单独的字符串并删除过程中的@符号。
编辑:如果用户在文本框中定义字符串,如何拆分它?
如:
string email = "";
答案 0 :(得分:9)
var async = require('async'),
mongodb = require('mongodb'),
MongoClient = mongodb.MongoClient;
MongoClient.connect("mongodb://localhost/test",function(err,db) {
var collection = db.collection('testme');
async.series(
[
function(callback) {
collection.deleteMany({},callback);
},
function(callback) {
collection.insert(
[
{ "data": 1 },
{ "data": 2 }
],
callback
);
},
function(callback) {
collection.deleteMany({},function(err,result) {
console.log(JSON.stringify(result));
console.log(JSON.stringify(result.result.n));
callback(err);
});
}
],
function(err) {
db.close();
}
);
});
答案 1 :(得分:3)
使用String.Split
:
string source = "Name@yahoo.com";
var parts = source.Split('@');
var name = parts[0];
var domain = parts[1];
答案 2 :(得分:3)
var strings = yourFullString.Split('@');
var name = strings[0];
var domain = strings[1];
答案 3 :(得分:1)
您可以使用String.Split
string data = "Name@yahoo.com";
var stringArray = data.Split('@');
var name = stringArray[0];
var email = stringArray[1];
您也可以使用Regex.Split
string data = "Name@yahoo.com";
string pattern = "@"; // Split on @
string[] substrings = Regex.Split(data , pattern);
var name = substrings[0];
var email = substrings[1];
答案 4 :(得分:1)
不使用单独的辅助变量的方法是:
var name = data.Substring(0, data.indexOf('@'));
var domain = data.Substring(data.indexOf('@') + 1);
答案 5 :(得分:-1)
使用内置的.Net类。这很容易,您不应该看到Regular expressions
或String
类的方法。
原因
"'~!,*
。 string
类的方法,可能会有很多不必要的代码。使用MailAddress类非常简单:
System.Net.Mail.MailAddress mailAddress = new System.Net.Mail.MailAddress("BobValery@mail.com");
string address = mailAddress.Address;
string name = mailAddress.DisplayName;
string host = mailAddress.Host;
string user = mailAddress.User;