private void button1_Click(object sender, System.EventArgs e)
{
string str = "abcdefghijklmnopqrstuvwxyz";
string str = "abc";
int count = str.Length;
if(count == 0)
{
return;
}
//char[] ch = str.ToCharArray();
string s = null;
for(int i=1;i<=count;i++)
{
if(count%5 == 0)
{
if(i%5 == 0)
{
s += str.Substring(0,5) + "新的内容";
str = str.Remove(0,5);//把取到的内容去掉
}
}
else
{
if(count < 5)
{
s = str;
break;
}
//到达能被除尽的最大整数时
if( i == count/5*5+1)
{
s += str;
break;
}
if(i%5 == 0)
{
s += str.Substring(0,5) + "新的内容";
str = str.Remove(0,5);
}
}
}
MessageBox.Show(s);
}
太烦琐,偶现在只有这个法了(~_~)

解决方案 »

  1.   

    把10换成你要的数字
    class Program
    {
        static void Main(string[] args)
        {
            string s = "fsaddfsafdsfsafdsafsafsasaasfasfsafewatwaetqt";
            Regex r = new Regex(".{10}", RegexOptions.Compiled);
            string o = r.Replace(s, ReplaceFunc);
            Console.WriteLine(o);    }    private static string ReplaceFunc(Match m)
        {
            return m.Value + "\n\n\n\n\n";
        }}
      

  2.   

    逻辑比较混乱。bufferedOutput.Write(buffer, i, i+1);这里是暂时胡写的private void button3_Click(object sender, EventArgs e)
            {
                string openText = textBox1.Text;
                string savaPath = textBox2.Text;
                string arri = textBox3.Text;            if (File.Exists(openText) || File.Exists(openText))
                {
                    
                    Stream inputStream = File.OpenRead(openText);
                    Stream outputStream = File.OpenWrite(savaPath);
                    
                    BufferedStream bufferedInput = new BufferedStream(inputStream);
                    BufferedStream bufferedOutput = new BufferedStream(outputStream);
                    //BufferedStream bufferedOutput1 = new BufferedStream(outputStream);                int bsl = (int)bufferedInput.Length;
                    byte[] buffer = new byte[bsl];                int bytesRead;
                    for (int i = 0; i < (bytesRead = bufferedInput.Read(buffer, 0, bsl)); i++)
                    {
                        StreamWriter sr = new StreamWriter();
                        bufferedOutput.Write(buffer, i, i+1);
                        //MessageBox.Show("" + arri + "\n" + bsl + "\n" + bytesRead);
                        //MessageBox.Show("" + Math.IEEERemainder(Convert.ToDouble(bytesRead), Convert.ToDouble(arri)));
                        if (Math.IEEERemainder(Convert.ToDouble(i), Convert.ToDouble(arri)) == 0)
                        {
                            
                            AddText(bufferedOutput, "\r\n\r\n\r\n\r\n\r\n");
                        }
                    }
                    MessageBox.Show("分割完成");
                    bufferedOutput.Flush();
                    bufferedInput.Close();
                    bufferedOutput.Close();
                }
                else
                {
                    MessageBox.Show("输入路径或者输出路径为空");
                }
            }        private static void AddText(BufferedStream fs, string value)
            {
                byte[] info = new UTF8Encoding(true).GetBytes(value);
                fs.Write(info, 0, info.Length);
            }