比如两个字符串ABCD100~ABCD1000,除了前四位是固定的字母外,后面的数字是连续的,也就是可以把ABCD100~ABCD1000当做连续的一串数字,
再给两个字符串ABCD150~ABCD500,这两个字符串是在上面两个字符串之间取出来的一段,我要的效果是把ABCD100~ABCD1000拆分成ABCD100~ABCD149和ABCD501~ABCD1000,大侠帮帮忙 ,最好有代码
再给两个字符串ABCD150~ABCD500,这两个字符串是在上面两个字符串之间取出来的一段,我要的效果是把ABCD100~ABCD1000拆分成ABCD100~ABCD149和ABCD501~ABCD1000,大侠帮帮忙 ,最好有代码
还是ABCD100~ABCD149、ABCD501~ABCD1000的数组
private void button1_Click( object sender, EventArgs e )
{
string strA = "ABCD100~ABCD1000";
string strB = "ABCD150~ABCD500"; string[] arrA = strA.Split( '~' );
string[] arrB = strB.Split( '~' ); string strC = arrA[0] + "~" + "ABCD" + ( Convert.ToInt32( arrB[0].Substring( 4 ) ) - 1 ).ToString();
string strD = "ABCD" + ( Convert.ToInt32( arrB[1].Substring( 4 ) ) + 1 ).ToString() + "~" + arrA[1]; MessageBox.Show( string.Format( "{0}\n{1}", strC, strD ) );
}
string str2="ABCD1000";
string str3="ABCD150";
string str4="ABCD500";
string str5=str3.Substring(0,4)+(int.Parse(str3.Substring(4))-1);
string str6=str4.Substring(0,4)+(int.Parse(str4.Substring(4))+1);
string str1="ABCD00100";
string str2="ABCD01000";
string str3="ABCD00150";
string str4="ABCD00500";
该怎么处理啊
拆出来是把2个窜拆开
string strA="ABCD"+"@spen".这样一来就可以不用那么麻烦的了,
再搞个数据库来记录用户输入的记录不久搞定了 吗!
当然,这个里面需要一个存储过程!
f = "ABCD100ABCD149ABCD501ABCD1000……";//f是ABCD100~ABCD1000连续的一串数字
string sub1 = f.Substring(0,f.IndexOf("ABCD501"));
string sub2 = f.Substring(f.IndexOf("ABCD501"));
string str2="ABCD01000";
string str3="ABCD00150";
string str4="ABCD00500";
string str5=str3.Substring(0,4)+(int.Parse(str3.Substring(4))-1).ToString("D5");
string str6=str4.Substring(0,4)+(int.Parse(str4.Substring(4))+1).ToString("D5");//后面的数字是几位就写D几
// int a = linkLabel3.Text.IndexOf("的");
int a = str.IndexOf("~");
String str1 = str.Substring(0, a);//得到ABCD100
String str2 = str.Substring(a+1);//得到ABCD1000
String str3 = numFromString(str1);///得到数字100
String str4 = numFromString(str2);///得到数字1000 public string numFromString(string str1)//////////////////////自定义函数,返回字符串中的数字
{
string temp = "0123456789";
string str2 = "";
for (int i = 0; i < str1.Length; i++)
{
for (int j = 0; j < temp.Length; j++)
{
if (str1.Substring(i, 1) == temp.Substring(j, 1))
str2 += str1.Substring(i, 1);
}
}
return str2;
}
不是很明白你的需求
不过以上代码的功能应该够你用了,
根据你自己需求
自己在整理吧
前面的部分不动,后面的用循环加上!
string temp = "ABCD"; //临时变量,存储前面不变的部分
string[] strA = new string[50]; //数组变量,存储字符串 ABCD100~ABCD149 ;
string[] strB = new string[500]; //数组变量,存储字符串 ABCD501~ABCD1000 ;
//这是前部分的,就是从ABCD100~ABCD149 的数组;
for (int i = 100; i < 150; i++)
{
strA[i-100] = temp + i;
}
//这是后部分的,就是从ABCD501~ABCD1000 的数组;
for (int j = 501; j <= 1000; j++)
{
strB[j-501] = temp + j;
}
//得到这两个数组,就可从中提取你要的部分了
前面的部分不动,后面的用循环加上!
string temp = "ABCD"; //临时变量,存储前面不变的部分
string[] strA = new string[50]; //数组变量,存储字符串 ABCD100~ABCD149 ;
string[] strB = new string[500]; //数组变量,存储字符串 ABCD501~ABCD1000 ;
//这是前部分的,就是从ABCD100~ABCD149 的数组;
for (int i = 100; i < 150; i++)
{
strA[i-100] = temp + i;
}
//这是后部分的,就是从ABCD501~ABCD1000 的数组;
for (int j = 501; j <= 1000; j++)
{
strB[j-501] = temp + j;
}
//得到这两个数组,就可从中提取你要的部分了