fork download
  1. using System;
  2. using System.Text.RegularExpressions;
  3.  
  4. public class Test
  5. {
  6. private static string Cut1(string s)
  7. {
  8. if (s.Length <= 50)
  9. return s;
  10.  
  11. var firstSpaceAfterLimit = s.IndexOf(' ', 20);
  12.  
  13. if (firstSpaceAfterLimit == -1)
  14. firstSpaceAfterLimit = 50;
  15.  
  16. if (firstSpaceAfterLimit >= 50)
  17. firstSpaceAfterLimit = 50;
  18.  
  19. return s.Substring(0, firstSpaceAfterLimit);
  20. }
  21.  
  22. private static string Cut2(string s)
  23. {
  24. return Regex.Match(s, @"^.{1,50}(?=\b|$)|^((?!\s).){50}").Value;
  25. }
  26.  
  27. private static string Cut3(string s)
  28. {
  29. return Regex.Match(s, @"^.{1,50}(?=\s|$)|^((?!\s).){50}").Value;
  30. }
  31.  
  32. public static void Main()
  33. {
  34. foreach(string s in new string[] {"Just a test", "Just a test test test test test test", "Just a test test test test test test a test test test test test test", "123456789012345678901234567890123456789012345678901234567890", new String('a', 20), new string('a', 50), new string('a', 51), new string('a', 45) + ",7890123 test"})
  35. Console.WriteLine("s: {0}\n1: {1}\n2: {2}\n3: {3}\n", s, Cut1(s), Cut2(s), Cut3(s));
  36. }
  37. }
Success #stdin #stdout 0.08s 24536KB
stdin
Standard input is empty
stdout
s: Just a test
1: Just a test
2: Just a test
3: Just a test

s: Just a test test test test test test
1: Just a test test test test test test
2: Just a test test test test test test
3: Just a test test test test test test

s: Just a test test test test test test a test test test test test test
1: Just a test test test
2: Just a test test test test test test a test test 
3: Just a test test test test test test a test test

s: 123456789012345678901234567890123456789012345678901234567890
1: 12345678901234567890123456789012345678901234567890
2: 12345678901234567890123456789012345678901234567890
3: 12345678901234567890123456789012345678901234567890

s: aaaaaaaaaaaaaaaaaaaa
1: aaaaaaaaaaaaaaaaaaaa
2: aaaaaaaaaaaaaaaaaaaa
3: aaaaaaaaaaaaaaaaaaaa

s: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
2: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
3: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

s: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
2: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
3: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

s: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,7890123 test
1: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,7890
2: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,
3: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,7890