200分:求英文字母、数字和汉字共同组成的字符串的截取方法!解决立马给分!

时间:2022-03-22 06:25:55
注意:
1、字符串中的字母、数字和汉字的组合是不确定的!
2、截取的依据是开始位置和长度!
3、字符串中的每段长度是固定的!
3、总长度是固定的!

如:总长度是15的字符串,前5个字符存放学号,接着8个字符存放名称,最后2个字符存放年龄!这样的字符串应如何分割?例:学001盖次    40

6 个解决方案

#1


截取后应是:
学001
盖次
40

#2


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

}
}

}

#3


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);//年龄

#4


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

结果:
    学001
    盖次
    40

#5


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

#6


我自己也搞定了!不过分一定给!明天我另开贴!

#1


截取后应是:
学001
盖次
40

#2


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

}
}

}

#3


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);//年龄

#4


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

结果:
    学001
    盖次
    40

#5


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

#6


我自己也搞定了!不过分一定给!明天我另开贴!