我有一个名为listbox1
的列表框,其中收集了电子邮件。我想通过选择该项目listbox1
中的textbox1
项目。
我能做到:
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
textBox1.Text = listBox1.SelectedItem.ToString();
}
所有电子邮件的格式都相同:a@gmail.com
,b@gmail.com
。
我希望文本框中的所选项目没有@gmail.com
部分。
我怎样才能实现这个目标?
列表框中收集的项目是:
在这种情况下,我只想采用ab
或bc
或gh
。
答案 0 :(得分:1)
您可以使用String.IndexOf method查找@
符号的位置,然后使用String.Substring从电子邮件中获取用户名:
var emails = new List<String>()
{
"abc@gmail.com",
"xyz123@gmail.com",
"a@gmail.com"
};
emails.ForEach(email =>
{
Console.WriteLine(email.Substring(0, email.IndexOf("@")));
});
示例输入的输出是:
abc
xyz123
a
应用于您的文本框案例,解决方案可能如下所示:
var email = listBox1.SelectedItem.ToString();
textBox1.Text = = email.Substring(0, email.IndexOf("@"));
答案 1 :(得分:0)
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
textBox4.Text = listBox1.SelectedItem.ToString().Split('@')[0];
}
答案 2 :(得分:0)
这可以通过查找'@'
符号的索引,然后仅使用SubString()
到电子邮件地址来完成。
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
var selectedEmail = listBox1.SelectedItem.ToString();
textBox4.Text = selectedEmail.SubString(0, selectedEmail.IndexOf("@") - 1);
}