C# 从单词和数字中提取值

C# 从单词和数字中提取值,c#,arrays,string,winforms,char,C#,Arrays,String,Winforms,Char,嘿,我对编程相当陌生,所以我的措辞可能不是最好的,但是 我需要知道如何在文本框中显示输出,该文本框只显示从同一文本框中输入的单词中选择的特定字母 例如,用户输入Maria Fernandez 123456789>按下按钮,输出将为>MF789 不管输入是否为大写 private void btn2_Click(object sender, EventArgs e) MessageBox.Show(txtF.Text + " " + txtL.Text+" ,Right");

嘿,我对编程相当陌生,所以我的措辞可能不是最好的,但是

我需要知道如何在文本框中显示输出,该文本框只显示从同一文本框中输入的单词中选择的特定字母

例如,用户输入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;

这是我现在正在使用的代码

您可以使用以下代码:

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();

首字母
将等于“MF789”

如果要使用默认的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);
或者您可以像这样指定“”作为拆分分隔符

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);
这两种方法将产生相同的结果finalinials=“MF789”


这里是一条直线,假设没有不规则的数据:

s.Split(new[] {' '}).Aggregate((r, p) => r += (Char.IsNumber(p[0]) ? p.Substring(p.Length - 3) : p[0].ToString()));

编辑:缩写的lambda名称、格式。

不太清楚您希望您的程序应用于输入文本的逻辑-取任何文本字符串的第一个字符和任何数字字符串的最后三个字符?请编辑您的问题,以解释您希望对字符串执行的操作。也就是说,在这个网站和其他网站上有很多字符串操作的例子。一些快速的研究应该会让你走上正确的道路。那么,你基本上是想获得名字的
首字母
、姓氏的
首字母
、以及他们的社会保险号码的最后3个字符吗。。?如果是这样,这非常简单,您熟悉SubString()函数吗。。。?你也可以使用Split()函数和SubString()来实现这个。是的,我以前试过使用它,但在处理“社会保险输入值”时遇到了问题