Guest User

Untitled

a guest
Mar 18th, 2018
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.54 KB | None | 0 0
  1. var chunk = 10;
  2. var s = "long-longn stringn with somen chars";
  3. var messages = new List<string>();
  4. for (var i = chunk;; i += chunk)
  5. {
  6. if (i >= s.Length)
  7. {
  8. messages.Add(s.Substring(i + 1 - chunk));
  9. break;
  10. }
  11.  
  12. i = s.LastIndexOf('n', i >= s.Length ? s.Length - 1 : i, 200);
  13. if (i <= chunk)
  14. {
  15. messages.Add(s.Substring(0, i));
  16. continue;
  17. }
  18.  
  19. var len = messages.Last().Length;
  20. messages.Add(s.Substring(len, i - len));
  21. }
  22.  
  23. var chunk = 10;
  24. var s = "long-longn stringn XXnwith somen chars";
  25.  
  26. // Разбиваем на куски по разделителю
  27. string[] parts = s.Split('n');
  28.  
  29. // Список с готовыми сообщениями, собранными из кусков
  30. var messages = new List<string>();
  31.  
  32. // Текущее сообщение, которое собираем из кусков
  33. string message = string.Empty;
  34.  
  35. foreach (string part in parts)
  36. {
  37. if (message.Length + part.Length + 1 > chunk)
  38. {
  39. // Если текущий кусок не помещается в message по ограничению длины
  40. messages.Add(message);
  41. message = part + "n";
  42. }
  43. else
  44. message += part + "n";
  45. }
  46.  
  47. // Если в message что-то осталось
  48. messages.Add(message);
  49.  
  50. foreach (string part in parts)
  51. {
  52. string message = part + "n";
  53. while (message.Length > chunk)
  54. {
  55. messages.Add(message.Substring(0, chunk));
  56. message = message.Substring(chunk);
  57. }
  58.  
  59. if (message.Length != 0)
  60. messages.Add(message);
  61. }
Add Comment
Please, Sign In to add comment