using System;
using static System.Console;
using System.Collections.Generic;
public class Program {
public static void Main() {
var exemplo = "13032015joao14032015Juca23032015Joao24032015Jose";
var partes = SplitBlocks(exemplo, 12);
foreach(var parte in partes) WriteLine(parte);
WriteLine();
exemplo = "13032015joao14032015Juca23032015Joao24032015Jose1234";
partes = SplitBlocksPartial(exemplo, 12);
foreach(var parte in partes) {
WriteLine(parte);
}
}
public static List<String> SplitBlocks(string texto, int tamanho) {
var partes = new List<String>();
var posicao = 0;
var total = texto.Length;
while(total >= posicao + tamanho) {
partes.Add(texto.Substring(posicao, tamanho));
posicao += tamanho;
}
return partes;
}
public static List<String> SplitBlocksPartial(string texto, int tamanho) {
var partes = new List<String>();
var posicao = 0;
var total = texto.Length;
while(total >= posicao) {
if (total >= posicao + tamanho) partes.Add(texto.Substring(posicao, tamanho));
else partes.Add(texto.Substring(posicao));
posicao += tamanho;
}
return partes;
}
}
//https://pt.stackoverflow.com/q/54235/101
dXNpbmcgU3lzdGVtOwp1c2luZyBzdGF0aWMgU3lzdGVtLkNvbnNvbGU7CnVzaW5nIFN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljOwoJCQkJCQpwdWJsaWMgY2xhc3MgUHJvZ3JhbSB7CglwdWJsaWMgc3RhdGljIHZvaWQgTWFpbigpIHsKCQl2YXIgZXhlbXBsbyA9ICIxMzAzMjAxNWpvYW8xNDAzMjAxNUp1Y2EyMzAzMjAxNUpvYW8yNDAzMjAxNUpvc2UiOwoJCXZhciBwYXJ0ZXMgPSBTcGxpdEJsb2NrcyhleGVtcGxvLCAxMik7CgkJZm9yZWFjaCh2YXIgcGFydGUgaW4gcGFydGVzKSBXcml0ZUxpbmUocGFydGUpOwoJCVdyaXRlTGluZSgpOwoJCWV4ZW1wbG8gPSAiMTMwMzIwMTVqb2FvMTQwMzIwMTVKdWNhMjMwMzIwMTVKb2FvMjQwMzIwMTVKb3NlMTIzNCI7CgkJcGFydGVzID0gU3BsaXRCbG9ja3NQYXJ0aWFsKGV4ZW1wbG8sIDEyKTsKCQlmb3JlYWNoKHZhciBwYXJ0ZSBpbiBwYXJ0ZXMpIHsKCQkJV3JpdGVMaW5lKHBhcnRlKTsKCQl9Cgl9CglwdWJsaWMgc3RhdGljIExpc3Q8U3RyaW5nPiBTcGxpdEJsb2NrcyhzdHJpbmcgdGV4dG8sIGludCB0YW1hbmhvKSB7CgkJdmFyIHBhcnRlcyA9IG5ldyBMaXN0PFN0cmluZz4oKTsKCQl2YXIgcG9zaWNhbyA9IDA7CgkJdmFyIHRvdGFsID0gdGV4dG8uTGVuZ3RoOwoJCXdoaWxlKHRvdGFsID49IHBvc2ljYW8gKyB0YW1hbmhvKSB7CgkJICAgIHBhcnRlcy5BZGQodGV4dG8uU3Vic3RyaW5nKHBvc2ljYW8sIHRhbWFuaG8pKTsKCQkJcG9zaWNhbyArPSB0YW1hbmhvOwoJCX0KCQlyZXR1cm4gcGFydGVzOwoJfQoJcHVibGljIHN0YXRpYyBMaXN0PFN0cmluZz4gU3BsaXRCbG9ja3NQYXJ0aWFsKHN0cmluZyB0ZXh0bywgaW50IHRhbWFuaG8pIHsKCQl2YXIgcGFydGVzID0gbmV3IExpc3Q8U3RyaW5nPigpOwoJCXZhciBwb3NpY2FvID0gMDsKCQl2YXIgdG90YWwgPSB0ZXh0by5MZW5ndGg7CgkJd2hpbGUodG90YWwgPj0gcG9zaWNhbykgewoJCQlpZiAodG90YWwgPj0gcG9zaWNhbyArIHRhbWFuaG8pIHBhcnRlcy5BZGQodGV4dG8uU3Vic3RyaW5nKHBvc2ljYW8sIHRhbWFuaG8pKTsKCQkJZWxzZSBwYXJ0ZXMuQWRkKHRleHRvLlN1YnN0cmluZyhwb3NpY2FvKSk7CgkJCXBvc2ljYW8gKz0gdGFtYW5obzsKCQl9CgkJcmV0dXJuIHBhcnRlczsKCX0KfQoKLy9odHRwczovL3B0LnN0YWNrb3ZlcmZsb3cuY29tL3EvNTQyMzUvMTAx