嘿,我对编程很新,所以我的措辞可能不是最好的,但
我需要知道如何在文本框中显示输出,该输出仅显示来自同一文本框中单词输入的特定选定字母
例如用户输入Maria Fernandez 123456789>按下按钮,输出将> MF789
无论输入是否为大写?
private void btn2_Click(object sender, EventArgs e)
MessageBox.Show(txtF.Text + " " + txtL.Text+" ,Right");
txtFull.Text = txtF.Text+" "+txtL.Text;
txtInfo.Text = txtF.Text. + txtL.Text+ txtCode.Text;
这是我正在使用的代码
答案 0 :(得分:0)
您可以使用以下内容:
string name = "Maria Fernandez 123456789";
int firstSpace = name.IndexOf(" ");
string initials = (name.Substring(0, 1) + name.Substring(firstSpace + 1, 1) + name.Substring(name.Length - 3)).ToUpper();
initials
等于“MF789”
答案 1 :(得分:0)
如果你想使用默认的Split()方法,那么你也可以做空格
string name = "Maria Fernandez 123456789";
var intials = name.Split();
var finalInitials = intials[0].Substring(0, 1) +
intials[1].Substring(0, 1) +
intials[2].Substring(intials[2].Length - 3);
或者您可以指定" "像这样的Split分隔符
string name = "Maria Fernandez 123456789";
var intials = name.Split(new [] {" "},StringSplitOptions.RemoveEmptyEntries);
var finalInitials = intials[0].Substring(0, 1) +
intials[1].Substring(0, 1) +
intials[2].Substring(intials[2].Length - 3);
这两个结果都会产生相同的结果finalInitials =" MF789"
答案 2 :(得分:0)
假设没有不规则的数据,这里是一个单行:
s.Split(new[] {' '}).Aggregate((r, p) => r += (Char.IsNumber(p[0]) ? p.Substring(p.Length - 3) : p[0].ToString()));
编辑:缩短lambda名称,格式化。