Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var chunk = 10;
- var s = "long-longn stringn with somen chars";
- var messages = new List<string>();
- for (var i = chunk;; i += chunk)
- {
- if (i >= s.Length)
- {
- messages.Add(s.Substring(i + 1 - chunk));
- break;
- }
- i = s.LastIndexOf('n', i >= s.Length ? s.Length - 1 : i, 200);
- if (i <= chunk)
- {
- messages.Add(s.Substring(0, i));
- continue;
- }
- var len = messages.Last().Length;
- messages.Add(s.Substring(len, i - len));
- }
- var chunk = 10;
- var s = "long-longn stringn XXnwith somen chars";
- // Разбиваем на куски по разделителю
- string[] parts = s.Split('n');
- // Список с готовыми сообщениями, собранными из кусков
- var messages = new List<string>();
- // Текущее сообщение, которое собираем из кусков
- string message = string.Empty;
- foreach (string part in parts)
- {
- if (message.Length + part.Length + 1 > chunk)
- {
- // Если текущий кусок не помещается в message по ограничению длины
- messages.Add(message);
- message = part + "n";
- }
- else
- message += part + "n";
- }
- // Если в message что-то осталось
- messages.Add(message);
- foreach (string part in parts)
- {
- string message = part + "n";
- while (message.Length > chunk)
- {
- messages.Add(message.Substring(0, chunk));
- message = message.Substring(chunk);
- }
- if (message.Length != 0)
- messages.Add(message);
- }
Add Comment
Please, Sign In to add comment