textBox1.Text
textBox2.Text
怎么有两个东西呀
textBox2.Text
怎么有两个东西呀
//假设 input 输入的字符串为 "abcs557898" //那么需要截取出来的就是 "557898" count = input.Length; //储存输入的字符串总长度,等于 10 if(count < 6) //输入长度不够 6 个,直接退出 return null; else{ //输入长度超过6个,开始从末尾往前找出数字来 string temp = " "; //新建个临时字符串用来存放找出来的数据,其内容为 6 个空格 offset = 6 - 1; //偏移指针指向临时字符串的最后一位 for(int i = count - 1; i > -1; i = i - 1){ //从 input 字符串末尾往前数。count - 1 = 9,即从最后一个字符 8 开始。 if(char.IsDigit(input[i])){ //判断当前字符是否为数字0-9。这里如果加上 "|| input[i] == '.'" 就可以支持小数点了 //是数字,添加到临时字符串中(由偏移指针决定插入位置) temp[offset] = input[i]; //偏移指针前移 offset = offset - 1; if(offset < 0){ //判断,如果偏移到了 -1,说明 temp 的 6 位数已经填满了,可以直接进入下一步 break; //退出 for 循环 } } else{ //如果 input[i] 不是数字,则表示无数字可填,同样,退出 for break; } } //for 循环完成后,temp 中存放的是“557898”,这是我们想要的。 //但是如果输入的数字位数不够 6 位,比如“abcs123”,那么会因为 input[i]不是数字而中途退出 for, //此时 temp 中存放的是“ 123”,3 个空格加“123” //需要去掉可能的空格。“123456”处理后仍是“123456”;“ 123”空格加 123 处理后,则变成“123” //如果只能输入标准的 6 位数,那么显然“123”是错误的 //比较处理前和处理后的字符串长度,如果不相等,说明不是 6 位,报错 if(temp.Length != temp.Trim().Length){ return null; } else{ //相等,说明 temp 是我们要的, return temp; //打完收工 } }