C# 以下字符串如何每点一次按钮把後面三个数字,自动加1

R0101AAAA001 ,点击按钮会变R0101AAAA002.请问代码如何写.
2025-03-04 11:56:40
推荐回答(5个)
回答1:

string str = "R0101AAAA001";
//字符串分解为2部分:头和尾
string headStr = str.Substring(0, str.Length - 3);
string subStr = str.Substring(str.Length - 3);
int value = Convert.ToInt32(subStr);
value++;
subStr = value.ToString();
//新的尾如果不足3位则补0
subStr = subStr.PadLeft(3, '0');
//得到新的字符串
str = headStr + subStr;
MessageBox.Show(str);

回答2:

public static int i = 1;
protected void Button1_Click(object sender, EventArgs e)
{
if (i>=100)
Button1.Text = "R0101AAAA" + i.ToString();
else if(i<100&&i>=10)
Button1.Text = "R0101AAAA0" + i.ToString();
else Button1.Text = "R0101AAAA00" + i.ToString();
i++;
}

回答3:

string s = "R0101AAAA001";
//Button事件里面做.
int num = Convert.ToInt32(s.Substring(9));
num++;
s = s.Substring(0, 9) + num.ToString().PadLeft(3, '0');
s全局变量

回答4:

string str = "R0101AAAA001";

string newStr = Regex.Replace(str, "(?\\d+)",
new MatchEvaluator(
delegate(Match m)
{
string mv = m.Groups["num"].Value;
return (Convert.ToInt32(mv) + 1).ToString("".PadLeft(mv.Length, '0'));
}),
RegexOptions.RightToLeft);

Console.WriteLine(newStr);

回答5:

string str = R0101AAAA001;
public button_Click()
{
string str1=str.SubString(0,9);
int inta = str.SubString(str.Length-3);
inta++;
if(inta.toString().Length ==1)
{
str=str1+"00"+inta;
}
else if(inta.toString().Length ==2)
{
str=str1+"0"+inta;
}
else
{
str = str1+inta.toString();
}
}