fork download
  1. using static System.Console;
  2.  
  3. public class Program {
  4. public static void Main(string[] args) {
  5. string texto = "Este é um teste de texto longo que precisa ser truncado com reticências, sem cortar a palavra.";
  6. for (int i = 0; i < texto.Length + 1; ++i) WriteLine($"{i} : {texto.Ellipsis(i)}");
  7. }
  8. }
  9.  
  10. public static class StringExt {
  11. static public string Ellipsis(this string text, int length, string ellipsis = "...") {
  12. if (text.Length <= length) return text;
  13. if (length <= ellipsis.Length) return ellipsis.Substring(0, length);
  14. text = text.Substring(0, length - ellipsis.Length);
  15. var position = text.LastIndexOf(' ');
  16. position = position < 0 ? 0 : position;
  17. return text.Substring(0, position).Trim(new[] { '.', ',', ';', ':', '!', '?' }) + ellipsis;
  18. }
  19. }
  20.  
  21. //https://pt.stackoverflow.com/q/155204/101
Success #stdin #stdout 0.02s 16460KB
stdin
Standard input is empty
stdout
0 : 
1 : .
2 : ..
3 : ...
4 : ...
5 : ...
6 : ...
7 : ...
8 : Este...
9 : Este...
10 : Este é...
11 : Este é...
12 : Este é...
13 : Este é um...
14 : Este é um...
15 : Este é um...
16 : Este é um...
17 : Este é um...
18 : Este é um...
19 : Este é um teste...
20 : Este é um teste...
21 : Este é um teste...
22 : Este é um teste de...
23 : Este é um teste de...
24 : Este é um teste de...
25 : Este é um teste de...
26 : Este é um teste de...
27 : Este é um teste de...
28 : Este é um teste de texto...
29 : Este é um teste de texto...
30 : Este é um teste de texto...
31 : Este é um teste de texto...
32 : Este é um teste de texto...
33 : Este é um teste de texto...
34 : Este é um teste de texto longo...
35 : Este é um teste de texto longo...
36 : Este é um teste de texto longo...
37 : Este é um teste de texto longo...
38 : Este é um teste de texto longo que...
39 : Este é um teste de texto longo que...
40 : Este é um teste de texto longo que...
41 : Este é um teste de texto longo que...
42 : Este é um teste de texto longo que...
43 : Este é um teste de texto longo que...
44 : Este é um teste de texto longo que...
45 : Este é um teste de texto longo que...
46 : Este é um teste de texto longo que precisa...
47 : Este é um teste de texto longo que precisa...
48 : Este é um teste de texto longo que precisa...
49 : Este é um teste de texto longo que precisa...
50 : Este é um teste de texto longo que precisa ser...
51 : Este é um teste de texto longo que precisa ser...
52 : Este é um teste de texto longo que precisa ser...
53 : Este é um teste de texto longo que precisa ser...
54 : Este é um teste de texto longo que precisa ser...
55 : Este é um teste de texto longo que precisa ser...
56 : Este é um teste de texto longo que precisa ser...
57 : Este é um teste de texto longo que precisa ser...
58 : Este é um teste de texto longo que precisa ser...
59 : Este é um teste de texto longo que precisa ser truncado...
60 : Este é um teste de texto longo que precisa ser truncado...
61 : Este é um teste de texto longo que precisa ser truncado...
62 : Este é um teste de texto longo que precisa ser truncado...
63 : Este é um teste de texto longo que precisa ser truncado com...
64 : Este é um teste de texto longo que precisa ser truncado com...
65 : Este é um teste de texto longo que precisa ser truncado com...
66 : Este é um teste de texto longo que precisa ser truncado com...
67 : Este é um teste de texto longo que precisa ser truncado com...
68 : Este é um teste de texto longo que precisa ser truncado com...
69 : Este é um teste de texto longo que precisa ser truncado com...
70 : Este é um teste de texto longo que precisa ser truncado com...
71 : Este é um teste de texto longo que precisa ser truncado com...
72 : Este é um teste de texto longo que precisa ser truncado com...
73 : Este é um teste de texto longo que precisa ser truncado com...
74 : Este é um teste de texto longo que precisa ser truncado com...
75 : Este é um teste de texto longo que precisa ser truncado com...
76 : Este é um teste de texto longo que precisa ser truncado com reticências...
77 : Este é um teste de texto longo que precisa ser truncado com reticências...
78 : Este é um teste de texto longo que precisa ser truncado com reticências...
79 : Este é um teste de texto longo que precisa ser truncado com reticências...
80 : Este é um teste de texto longo que precisa ser truncado com reticências, sem...
81 : Este é um teste de texto longo que precisa ser truncado com reticências, sem...
82 : Este é um teste de texto longo que precisa ser truncado com reticências, sem...
83 : Este é um teste de texto longo que precisa ser truncado com reticências, sem...
84 : Este é um teste de texto longo que precisa ser truncado com reticências, sem...
85 : Este é um teste de texto longo que precisa ser truncado com reticências, sem...
86 : Este é um teste de texto longo que precisa ser truncado com reticências, sem...
87 : Este é um teste de texto longo que precisa ser truncado com reticências, sem cortar...
88 : Este é um teste de texto longo que precisa ser truncado com reticências, sem cortar...
89 : Este é um teste de texto longo que precisa ser truncado com reticências, sem cortar a...
90 : Este é um teste de texto longo que precisa ser truncado com reticências, sem cortar a...
91 : Este é um teste de texto longo que precisa ser truncado com reticências, sem cortar a...
92 : Este é um teste de texto longo que precisa ser truncado com reticências, sem cortar a...
93 : Este é um teste de texto longo que precisa ser truncado com reticências, sem cortar a...
94 : Este é um teste de texto longo que precisa ser truncado com reticências, sem cortar a palavra.