|
|
|
Форматирование текста
|
|||
|---|---|---|---|
|
#18+
Подскажите как решить проблеммку. Имеется файл в 40-50-100 тысяч строк. Строка формата Код: html 1. Как можно заменить пробелы между словами на один знак табуляции. Чтобы в результате получить нормально отформатированный текст, который бы разбивался на колонки в Excele(к примеру). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2017, 13:00:30 |
|
||
|
Форматирование текста
|
|||
|---|---|---|---|
|
#18+
Простенький цикл, заменяющий два пробела подряд табуляцией и убирающий все последующие пробелы. В чём проблема-то? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2017, 13:05:13 |
|
||
|
Форматирование текста
|
|||
|---|---|---|---|
|
#18+
Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2017, 13:22:03 |
|
||
|
Форматирование текста
|
|||
|---|---|---|---|
|
#18+
DimaBr, Со строкой работает, с файлом не хочет( Что не так? Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2017, 14:16:42 |
|
||
|
Форматирование текста
|
|||
|---|---|---|---|
|
#18+
Понял почему не работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2017, 14:24:43 |
|
||
|
Форматирование текста
|
|||
|---|---|---|---|
|
#18+
Вот вариант оптимизированный Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2017, 15:10:40 |
|
||
|
Форматирование текста
|
|||
|---|---|---|---|
|
#18+
Няшик, Можно поинтересоваться, в каком языке слово skip имеет отношение к форматированию ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2017, 17:22:46 |
|
||
|
Форматирование текста
|
|||
|---|---|---|---|
|
#18+
schiНяшик, Можно поинтересоваться, в каком языке слово skip имеет отношение к форматированию ? Имелось введу скипнуить лишние пробелы. Имя функции больше не на что не рассчитано. Оно очень глупое и не целесообразное. Конечно в производство такое нельзя пихать, иначе это станет головной болью. Но это всего лишь демонстрация ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2017, 19:28:22 |
|
||
|
Форматирование текста
|
|||
|---|---|---|---|
|
#18+
НяшикschiНяшик, Можно поинтересоваться, в каком языке слово skip имеет отношение к форматированию ? Имелось введу скипнуить лишние пробелы. Имя функции больше не на что не рассчитано. Оно очень глупое и не целесообразное. Конечно в производство такое нельзя пихать, иначе это станет головной болью. Но это всего лишь демонстрация Такой код вообще никуда нельзя, даже для демонстрации. Sad but true. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2017, 22:37:14 |
|
||
|
Форматирование текста
|
|||
|---|---|---|---|
|
#18+
Няшик, ты Лошарик, а не Няшик. Надеюсь, тебе стыдно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2017, 22:51:54 |
|
||
|
Форматирование текста
|
|||
|---|---|---|---|
|
#18+
чччД , ты Лошарик, а не Няшик. Надеюсь, тебе стыдно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2017, 23:05:30 |
|
||
|
Форматирование текста
|
|||
|---|---|---|---|
|
#18+
Нет, мне не должно быть стыдно... Это вам, раз вы не можете без длинной функции Pos Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. Без длмнной функции StringReplace Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. 191. 192. 193. 194. 195. 196. 197. 198. 199. 200. 201. 202. 203. 204. 205. 206. 207. 208. 209. 210. 211. 212. 213. Хотя скорее это завсить. Что я легко могу обходиться без всего этого хлама,и писать довольно гибкий код. Функция SetLength не копирует строку в моём случае, а делает реллок - уменьщая длину. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2017, 23:38:25 |
|
||
|
Форматирование текста
|
|||
|---|---|---|---|
|
#18+
Эти функции плохи тем, что они гоняют одни и те же строки по много раз. И тормозят код во много. Мой же код, использует два цикла. Один, что бы прогнать основную строку, и второй - убрать лишние пробелы. Просто - та кода. А у вас - дикий лес из тормозов. Полезные ресурсы тратите попросту. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2017, 23:41:25 |
|
||
|
Форматирование текста
|
|||
|---|---|---|---|
|
#18+
К тому - же, времени я угрохал не больше 30 секунд на написания своего кода... А вот в случае кода DimaBr, думаю столько - же. Только на + 10 и даже + 20 секунд дольше. Так как его код сложен в понимании. А мой лёгкий как при написании, так в чтении. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2017, 23:44:19 |
|
||
|
Форматирование текста
|
|||
|---|---|---|---|
|
#18+
Блин, сижу и в голову взбрело. Сейчас же по налетите как мухи, и будите твердить - быстрота кода не важна, для бизнес приложения. - Грех не использовать что заложили в функционал среды - разработчики умнее Это всё чистые предрассудки. Быстрота кода нужна - для быстрой сортировки, к примеру. К тому - же, далеко не известно какое железо будет у пользователя. И на сколько под хламом прогибаться. Так что ваш код из pos и StringReplace может и пару минут работать на файлах в 100 тысяч строк. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2017, 23:48:57 |
|
||
|
Форматирование текста
|
|||
|---|---|---|---|
|
#18+
НяшикЭто вам, раз вы не можете без длинной функции Pos ... Эти функции плохи тем, что они гоняют одни и те же строки по много раз. Покажи в коде "плохой" функции Pos(). В каком именно месте там "гоняются строки по много раз". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2017, 00:00:35 |
|
||
|
Форматирование текста
|
|||
|---|---|---|---|
|
#18+
чччД[ Покажи в коде "плохой" функции Pos(). В каком именно месте там "гоняются строки по много раз". Давай подсчитаем. Первый цикл Код: pascal 1. В функции Pos идут уже два цикла repeat until Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. Теперь, отбрасываем все проверки (Туча проверок! ДОХРЕНИЩЕ) И смело считаем сколько раз нам надо потратить только тактов на функцию POS в обходе цикла for для длины SL.Count (В частности, вы должны учесть - то, что мы не идём от строки к строке. Мы ещё режим саму строку - удаляя из неё лишние пробелмы, прежде чем перейти к следующей.) Код: pascal 1. 2. 3. 4. Осознаёшь сколько работает лишнего кода под капотом ? Не уважаю я такой код. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2017, 00:44:40 |
|
||
|
Форматирование текста
|
|||
|---|---|---|---|
|
#18+
НяшикНе уважаю я такой код.Смысла уважать код, который никак не решает задачу ТС, тоже нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2017, 00:58:57 |
|
||
|
Форматирование текста
|
|||
|---|---|---|---|
|
#18+
white_niggerНяшикНе уважаю я такой код.Смысла уважать код, который никак не решает задачу ТС, тоже нет Кто сказал что не решает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2017, 01:13:42 |
|
||
|
Форматирование текста
|
|||
|---|---|---|---|
|
#18+
Вот прямая ссылка на картинку http://www.fotolink.su/pic_b/4304d4bd6ad9fd1e130e29e8973c742e.png ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2017, 01:15:21 |
|
||
|
Форматирование текста
|
|||
|---|---|---|---|
|
#18+
Няшик, Ваш код быстрее и эффективнее, не о чем тут спорить. Надо присвоить значение переменной b в начале функции Skip: Код: pascal 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2017, 01:15:28 |
|
||
|
Форматирование текста
|
|||
|---|---|---|---|
|
#18+
crossa, Да, действительно. Для лазура бы это было актуально. Но для Delphi они по умолчанию в false встаёт, по этому у меня не было в мыслях написать это условие. Хотя если я не прав, и при каких - то условиях вместо false компилятор Delphi может выделить true, то поправьте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2017, 01:18:37 |
|
||
|
Форматирование текста
|
|||
|---|---|---|---|
|
#18+
НяшикчччД[ Покажи в коде "плохой" функции Pos(). В каком именно месте там "гоняются строки по много раз". Давай подсчитаем. Первый цикл Код: pascal 1. В функции Pos идут уже два цикла repeat until Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. ... В каком конкретно месте "гоняются строки по много раз". Покажи. Хотя бы одну-единственную строчку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2017, 01:31:16 |
|
||
|
Форматирование текста
|
|||
|---|---|---|---|
|
#18+
Няшик...Но для Delphi они по умолчанию в false встаёт... Локальные переменные будут тебе инициализироваться, ага. Точно Лошарик. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2017, 01:33:17 |
|
||
|
Форматирование текста
|
|||
|---|---|---|---|
|
#18+
чччДНяшикпропущено... Давай подсчитаем. Первый цикл Код: pascal 1. В функции Pos идут уже два цикла repeat until Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. ... В каком конкретно месте "гоняются строки по много раз". Покажи. Хотя бы одну-единственную строчку. Да ты просто издеваешься - понимая что код тот очень тормознутый. И меня просто зассрать хочешь - ох делать тебе нефиг. Я ведь показал как обойтись без гадости этакой. чччДНяшик...Но для Delphi они по умолчанию в false встаёт... Локальные переменные будут тебе инициализироваться, ага. Точно Лошарик. Вечно меня тут оскорбляешь. Хотя сам и пальцем не пошевелил. Жена в постельке не даёт? Ох бедненький, ну хорошо что я могу помочь тебе хоть как то неновисть выместить. Крепись там. Да, я провёл аналогию. Первая переменная bool всегда в false. На неё прямой адрес стоит, дебагер показал Код: pascal 1. Все остальные идут уже через смещения ebp ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2017, 01:44:56 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39527710&tid=2041770]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
425ms |
get topic data: |
13ms |
get forum data: |
4ms |
get page messages: |
86ms |
get tp. blocked users: |
2ms |
| others: | 205ms |
| total: | 760ms |

| 0 / 0 |
