一个字符串长度超过20,现在要在每个20长度的位置加上\n(回车符),如下:string str="aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";使用方法转换成:str="aaaaaaaaaaaaaaaaaaaa\naaaaaaaaaaaaaaaaaaaa\naaaaaaaaaaaaaaaaa";
求些方法,小弟在线等各位指教!
求些方法,小弟在线等各位指教!
str=str.Insert(41,"\n");
以此类推,写个循环
{
try
{
str=str.Insert(i,"\n");
}
catch
{
break;
}
}
int i;
for(i=0;i<str.Length-20;i+=20)
sb.Append(str.Substring(i, 20)).Append("\n");
sb.Append(str.Substring(i)).Append("\n");
int c = (str.Length - 1) / 20 + 1;
for (int i = 0; i < c; i++)
{
int idx = i * 20;
int l=str.Length-idx;
if (l > 20)
l = 20;
sb.AppendLine(str.Substring(i*20,l));
} MessageBox.Show(sb.ToString());
if (yourStr.Length > 20)
{
yourStr = Regex.Replace(yourStr, @"(.{20})", "$1\n");
}
^_^
内存开销少点
int n = 20; for (int i = n ; i < str.Length; i= i+n)
{
str = str.Insert(i, "\n");
n++;
}
StringBuilder sb = new StringBuilder();
int idx = 0;
while (idx<str.Length)
{
int l=str.Length-idx;
if (l > 20)
l = 20;
sb.AppendLine(str.Substring(idx,l));
idx += l;
} MessageBox.Show(sb.ToString());
{
List<char> list = new List<char>();
if(i%20 ==0 && i!=0)
{
list.Add('\n');
}
else
list.add(str[i]);
return new string(list.ToArray());
}