|
|
|
замена регулярки в строке
|
|||
|---|---|---|---|
|
#18+
возник спор у студентов, что лучше, и как, версия Delphi XE10 надо заменить все слова в тексте на Null если к ним привязаны цифры Строка = " Слово, Слова, слов, 1 4 , 3 2 Слово1 Слово2, Слово3 Слово4, Слово5, Слово6 Слово, Слова, слов, 5 4, 3 , 2 " должно получится Строка = " Слово, Слова, слов, 1 4 , 3 2 1 2, 3 4, 5, 6 Слово, Слова, слов, 5 4, 3 , 2 " и так что лучше 1. replacestr(replacestr(replacestr(replacestr(replacestr(replacestr(Variable,'Слово1',1),'Слово2',2) - и.т.д. когда мы знаем всю строку и не так много заменять 2. цикл, который выискивает Слова с цифрами и чистит текст 3. замены через регулярные выражения, Uses System.RegularExpressions; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.01.2020, 14:33 |
|
||
|
замена регулярки в строке
|
|||
|---|---|---|---|
|
#18+
yemets63и так что лучше Сначала надо устроить спор о критерии "лучшести". Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.01.2020, 14:55 |
|
||
|
замена регулярки в строке
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, завтра посмотрю, что покажут ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.01.2020, 15:11 |
|
||
|
замена регулярки в строке
|
|||
|---|---|---|---|
|
#18+
Первое - лучше для понимания "как делать не надо и почему". Второе - лучше для опыта и быстродействия. Третье - для лучше компактности и нечитаемости кода. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.01.2020, 15:22 |
|
||
|
замена регулярки в строке
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov Первое - лучше для понимания "как делать не надо и почему". Второе - лучше для опыта и быстродействия. Третье - для лучше компактности и нечитаемости кода. Я бы сказал что третье - лучше для универсальности. Завтра вам надо будет удалить не слова с цифрами, а слова с котиками - в третьем случае надо будет только шаблон поменять. А во втором?.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.01.2020, 17:31 |
|
||
|
замена регулярки в строке
|
|||
|---|---|---|---|
|
#18+
alekcvpА во втором?.. То же самое. Разница только в парсере. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.01.2020, 17:40 |
|
||
|
замена регулярки в строке
|
|||
|---|---|---|---|
|
#18+
+ к п.3. Регулярку можно и в конфиг вынести. Однако составлять ее надо очень внимательно, чтобы исключить ложные срабатывания ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2020, 15:56 |
|
||
|
замена регулярки в строке
|
|||
|---|---|---|---|
|
#18+
yemets63, в плане скорости: железно лучше, отдельно построенный автомат (ДКА) сравнимо к нему может приблизиться только 2-е, так как зависит от программиста реализующего его 3-е было бы тоже самое, если бы не реализация через НКА 1-е может обогнать при единичной замене как вы и написали ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2020, 17:21 |
|
||
|
замена регулярки в строке
|
|||
|---|---|---|---|
|
#18+
yemets63 надо заменить все слова в тексте на Null если к ним привязаны цифры Что должно получиться для Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2020, 20:37 |
|
||
|
замена регулярки в строке
|
|||
|---|---|---|---|
|
#18+
Мне тут пришло в голову, что эту задачу можно решить за один проход, то бишь O(N). Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2020, 21:02 |
|
||
|
замена регулярки в строке
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, конечно. Если идти с конца. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2020, 21:58 |
|
||
|
замена регулярки в строке
|
|||
|---|---|---|---|
|
#18+
Регулярки так точно не умеют. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2020, 22:18 |
|
||
|
замена регулярки в строке
|
|||
|---|---|---|---|
|
#18+
Хотя это условно, по сути надо прописать полный список символов '[А-Яа-яA-Za-z]+\d+' и тогда он будет хватать все слова https://regex101.com/r/hoEckW/1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2020, 04:31 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39912228&tid=2038687]: |
0ms |
get settings: |
5ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
169ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
70ms |
get tp. blocked users: |
1ms |
| others: | 207ms |
| total: | 492ms |

| 0 / 0 |
