一个长度不固定的字符串,将其按8个字符长度划分成多个字符串,每个字符串取后4位,如果最后一个字符串长度不是8,则在后面添加数字达到8位长度,长度7位的话最后一个加8,其他长度第一个加8其余的加0,同样取后四位,然后把取到的所有数据加到一起
哪位大侠帮帮忙用.net 实现,希望能给个思路 效率想高一些 不要有太多的循环里面。
哪位大侠帮帮忙用.net 实现,希望能给个思路 效率想高一些 不要有太多的循环里面。
解决方案 »
- asp.net 取固定字符串
- mycommand.Parameters["@cno"].Value;
- 求达人帮忙看一下,Original为什么取不到值,我已经把那一句注释了
- 关于gridview中删除第一条时提示,而接下来就不提示的问题
- 2个DataGrid,分别都加了asp:CheckBox的模版列,相关客户端判断?
- 高分急问一个关于组合查询的问题
- vs2003获取VSS上最新版本的时候,为什么有些文件无法获取?
- 谁知道怎么实现拼音字首的查询?请过来指点一下?
- 有一个问题,我得到一个网页的返回流,,我要得到 某个 div 下面的 ul 里面的 li 里的超链接,求解
- 请教如何在dataset中判空
- asp.net 调用控制台程序 获得控制台的返回值
- 关于asp.net链接Access的问题
while(s.Length>8)
{
str+=s.SubString(0,8)+",";
s=s.SubString(8);
}
str+=s.Length==7?s+"8":s+"8"+s.PadRight(7-s.Length,'0');
int len=0;
if(str.length%8==0)//是否为8的倍数
{
len=str.length/8;
b=true;
}
else
{
len=str.length/8+1;
}
string s="";
for(int i=0,j=0;i<str.length;j++,i+=8)
{
if((j+1)==len && !b)//如果最后一个不是长度为8
{
s=str.substring(i,8).substring(4,4);
}
else
{
s=str.substring(i,8).substring(4,4);
}
},只是一个思路,或许有代码错误的地方,你看看吧,我现在有些事情,实在没时间一一做出
他的思路就不错,我只建议把string改成 StringBuilder类型
另外楼主没说被截下来的那4个字符做什么用,这个自然也决定是存数组还是存哪
str+=s.Length==7?s+"8":s+"8"+s.PadRight(7-s.Length,'0');
http://www.zixueit.com/forum-29-1.html
private string Cal(string p)
{
String result = String.Empty;
Int32 startIndex = 0;
Int32 len = 8;
while (true)
{
String subStr = p.Substring(startIndex);
if (subStr.Length >= 8)
{
subStr = p.Substring(startIndex, len); ;
}
if (subStr != String.Empty)
{
if (subStr.Length < 7 && subStr.Length>0)
{
subStr += "8";
subStr=subStr.PadRight(8, '0');
}
result += subStr.Substring(4);
startIndex = startIndex + len;
if (startIndex > p.Length)
{
break;
}
}
else
{ break; }
}
return result;
}
String result = Cal("ssssssssddddd");
Response.Write(result);
while(s.Length>8)
{
str+=s.SubString(0,8)+",";
s=s.SubString(8);
}
str+=s.Length==7?s+"8":s+"8"+s.PadRight(7-s.Length,'0');简单明了!
{
String result = String.Empty;
Int32 strLen = p.Length;
Int32 len=8;
Int32 quotient=strLen/len;
Int32 begin=0;
Int32 remainder=strLen %len;
while (quotient > 0 && begin<=quotient-1)
{
result += p.Substring(begin*len + 4,4);
begin++;
}
if (remainder > 0)
{
result += (p.Substring(begin * len) + "8").PadRight(8, '0').Substring(4);
}
return result;
}
String result = Cal1("ssss");
Response.Write(result);
string s="",str="";
while(s.Length>8)
{
str+=s.SubString(0,8)+",";
s=s.SubString(8);
}
str+=s.Length==7?s+"8":s+"8"+s.PadRight(7-s.Length,'0');