C#如何获取2个字符串之间的值?
就得到 SD1900、SD1902、SD1903 展开
好的,我发现我看错题了,下面的回答就当作废吧(呜)
==========
整了个符合字母+数字的,调试过了没有大问题。没有加入错误检测,而且如果需要有别的要求的还要自己进一步修改。
=====下面是C#控制台项目的代码=====
using System.Collections;//注意要额外加入这两个using
using static System.Console;
//下面是Program类的代码(并不包含namespace,粘贴时注意)
class Program
{
static ArrayList StringList = new ArrayList();//用于存放输出字符串的集合
static void Main(string[] args)
{
WriteLine("注意:\n①请保证开始和结束字符串的字母部分是一致的\n②请保证数字部分长度一致,如长度不足请从前补0,如:SD0001");
WriteLine("请输入开始字符串");
string str1 = ReadLine();
WriteLine("请输入结束字符串");
string str2 = ReadLine();
getString(str1, str2);
printStringList();
ReadKey();
}
static void getString(string firstString,string lastString)
{
string tempLetters = string.Empty, tempNumbersF = string.Empty, tempNumbersL = string.Empty;
int FirstNumber, LastNumber;
foreach(char tempChar in firstString)//分隔开始字符
{
if(tempChar>='0'&&tempChar<='9')
{
tempNumbersF += tempChar;//获取开始字符串中表示数字的部分
}
else
{
tempLetters += tempChar;//获取开始字符串中表示字母的部分
}
}
tempNumbersL = lastString.Replace(tempLetters, "");//获取结束字符串中表示数字的部分
FirstNumber = int.Parse(tempNumbersF);
LastNumber = int.Parse(tempNumbersL);
for(int i=FirstNumber;i<=LastNumber;i++)
{
StringList.Add(tempLetters + i.ToString().PadLeft(tempNumbersF.Length,'0'));//数字转为字符串+补全+连接+传给集合
}
}
static void printStringList()
{
int i = 0;
WriteLine();
foreach (string str in StringList)
{
Write($"{str} ");
if(++i%5==0)
{
WriteLine();
}
}
}
}