求一算法? for(int i=0;i<35;i++){ 查找字符是否等与'\n',相等的话插入一个“*”. if (i==34) 插入一个“*”} 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 int x=0for(int i = 1;i<=字符长度;i++){ x++; if(x==35 or 第i个字符= '\n') { 插入“*” x= 0 }} string s="";int flag=0;while(flag<s.Length){ if(s.IndexOf("\n",flag,35)!=-1) { flag=s.IndexOf("\n",flag,35); string tempstr1=s.Substring(0,flag+1)+"*"; string tempstr2=s.Substring(flag); s=tempstr1+tempstr2; } else { if(flag+35<=s.Length) { flag+=35; string tempstr1=s.Substring(0,flag+1)+"*"; string tempstr2=s.Substring(flag); s=tempstr1+tempstr2; } }}大体上应该就是这样,至于细节之处,比如是第35还是36位,我没做仔细的计算,你修改一下吧 好像只能逐个复制字符,因为插入"*"后字符串的长度将改变!char[] Bstr;string Bstring="";for(int i=0,int j=0;int x=0;i<Astr.Length;i++,j++,x++){ if(Astr[i]!='\n' && x!=35) //i记录Astr的位置,j记录Bstr的位置,x记录个数; Bstr[j]=Astr[i]; else { Bstr[j]='*'; x=0; }}for(int i=0;i<Bstr.Length;i++){ Bstring=Bstring+Bstr[i].toString();}return Bstring; if(Astr[i]!='\n' && x!=35) //i记录Astr的位置,j记录Bstr的位置,x记录个数; Bstr[j]=Astr[i]; else { Bstr[j]='*'; x=0; }可能这部分插入的位置有些错误,因为检测到\n是其后一位插入,而x=35是在当前位插入,所以在区分插入或者使它们用相同的步伐插入。下班了,没时间修改了~~~ char[] Char; Char=textBox1.Text.ToCharArray(); System.Text.StringBuilder strArray = new System.Text.StringBuilder(); int j=2; for(int i=0;i<textBox1.Text.Length;i++) { if(Char[i]==13 || j>35) { j=1; strArray.Append(Char[i]+"*"); } else { j++; strArray.Append(Char[i]); } } textBox2.Text = strArray.ToString();测试通过,呵呵 纠正中午的错误:if(Astr[i]!='\n' && x!=35) //i记录Astr的位置,j记录Bstr的位置,x记录个数; Bstr[j]=Astr[i];else{ if(Astr[i]=='\n') { Bstr[j]=Astr[i]; Bstr[++j]='*'; x=0; } else { Bstr[j]='*'; x=0; }} IrisSkin2.dll换皮肤怎么不好用 100分求C#打印代码 明天加分 顶者有分 怎么关闭FORM窗口 调用.NET组件将GridView的数据导出到Excel 怎么样实现一次插入多条记录 C# winlogon 问题求教内详,希望高手给正确解答 .net中如何动态导出dll文件,再现等待。。。。。。。。。。。? 请问如何让C#写的form在后台运行?或以图标的形式在桌面下的启动栏中运行? 用C#写了个ReadDouble的函数,请大家给我改进一下 怎样阻止程序的二次运行 请大侠指路:怎样用c#实现从word文件抓取内容? 如何在不同窗体实现对同一DataRow进行绑定
for(int i = 1;i<=字符长度;i++)
{
x++;
if(x==35 or 第i个字符= '\n')
{
插入“*”
x= 0
}}
int flag=0;
while(flag<s.Length)
{
if(s.IndexOf("\n",flag,35)!=-1)
{
flag=s.IndexOf("\n",flag,35);
string tempstr1=s.Substring(0,flag+1)+"*";
string tempstr2=s.Substring(flag);
s=tempstr1+tempstr2;
}
else
{
if(flag+35<=s.Length)
{
flag+=35;
string tempstr1=s.Substring(0,flag+1)+"*";
string tempstr2=s.Substring(flag);
s=tempstr1+tempstr2;
}
}
}大体上应该就是这样,至于细节之处,比如是第35还是36位,我没做仔细的计算,
你修改一下吧
char[] Bstr;
string Bstring="";
for(int i=0,int j=0;int x=0;i<Astr.Length;i++,j++,x++)
{
if(Astr[i]!='\n' && x!=35) //i记录Astr的位置,j记录Bstr的位置,x记录个数;
Bstr[j]=Astr[i];
else
{
Bstr[j]='*';
x=0;
}
}
for(int i=0;i<Bstr.Length;i++)
{
Bstring=Bstring+Bstr[i].toString();
}
return Bstring;
Bstr[j]=Astr[i];
else
{
Bstr[j]='*';
x=0;
}
可能这部分插入的位置有些错误,因为检测到\n是其后一位插入,而x=35是在当前位插入,所以在区分插入或者使它们用相同的步伐插入。下班了,没时间修改了~~~
Char=textBox1.Text.ToCharArray();
System.Text.StringBuilder strArray = new System.Text.StringBuilder();
int j=2;
for(int i=0;i<textBox1.Text.Length;i++)
{
if(Char[i]==13 || j>35)
{
j=1;
strArray.Append(Char[i]+"*");
}
else
{
j++;
strArray.Append(Char[i]);
}
}
textBox2.Text = strArray.ToString();
测试通过,呵呵
if(Astr[i]!='\n' && x!=35) //i记录Astr的位置,j记录Bstr的位置,x记录个数;
Bstr[j]=Astr[i];
else
{
if(Astr[i]=='\n')
{
Bstr[j]=Astr[i];
Bstr[++j]='*';
x=0;
}
else
{
Bstr[j]='*';
x=0;
}
}