private void button1_Click(object sender, System.EventArgs e)
{
int y=0,j=0,k=0,m=0; this.textBox1.Text = "学001盖次    40"; //获得第一个命令行参数第一个字母
//把该字母赋给变量chLetter
char[] chLetter = this.textBox1.Text.ToCharArray(0,5);
        
//如果字母大于等于字符'A'
for(int i =1;i<this.textBox1.Text.Length;i++)
{
if(chLetter[i]>= 'A')
{
//同时,字母小于字符'Z'
//则该字母为大写字母
if(chLetter[i]<= 'Z')
{
y=i+1;
}
}else //如果字母界与字符'a'和'z'之间
//则该字母为小写字母
if(chLetter[i] >= 'a' && chLetter[i] <= 'z')
{
j=j+1;
}else //如果字母为数字
if(Char.IsDigit(chLetter[i]))
{
k=k+1;
}
else
{    m= m+1;//缺省地(以上条件都不符合),则该字母为特殊字符
}
if(m==1&&k==3)
{
this.label1.Text = this.textBox1.Text;//学001

}
}

}

解决方案 »

  1.   

    string a="学001盖次    40";
    byte[] b=System.Text.Encoding.Default.GetBytes(a);
    string c=System.Text.Encoding.Default.GetString(b,0,5);//姓名
    string d=System.Text.Encoding.Default.GetString(b,5,8);//学会
    string f=System.Text.Encoding.Default.GetString(b,13,2);//年龄
      

  2.   

    CSTerry(Terry) 的方法挺好的
    但如果可以的话,楼主将字符串这样保存可能会容易处理些
    代码:
        string tmp="学001|盖次|40";
        string[] str=tmp.Split(new char[]{'|'});
        foreach(string s in str)
        {
            MessageBox.Show(s.ToString());
        }结果:
        学001
        盖次
        40
      

  3.   

    参考:http://community.csdn.net/Expert/FAQ/FAQ_Index.asp?id=193912