|
|
|
Вставка неразрывного пробела в документ Word
|
|||
|---|---|---|---|
|
#18+
Добрый день. Подскажите, почему может не работать вставка спец. символов? Я ищу в документе Word текст с помощью регулярных выражений и заменяю на то, что мне нужно. Поиск и замена осуществляется следующим образом. 1. Беру текст параграфа 2. Прогоняю через TPerlRexExp 3. Если совпадение найдено, то заменяю. В простом случае все работает как надо, но вот с спец. символами выходит затык, хотя в программе RegexBuddy все отрабатывает корректно. код для примера Код: 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. должно замениться на 5 тыс. , а меняется на 5\xA0тыс. Что я упускаю? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2018, 10:56 |
|
||
|
Вставка неразрывного пробела в документ Word
|
|||
|---|---|---|---|
|
#18+
cptngrb, Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2018, 11:31 |
|
||
|
Вставка неразрывного пробела в документ Word
|
|||
|---|---|---|---|
|
#18+
ma1tus, а в методе Replace такое не пройдет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2018, 11:42 |
|
||
|
Вставка неразрывного пробела в документ Word
|
|||
|---|---|---|---|
|
#18+
cptngrb, Код: pascal 1. не пройдёт или не проходит..? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2018, 11:53 |
|
||
|
Вставка неразрывного пробела в документ Word
|
|||
|---|---|---|---|
|
#18+
ma1tus, в данном примере работает, но не подойдет, так как на вход подается строка и что внутри я не знаю заранее. Получается, что мне нужно будет ее анализировать на кучу спец. символов и подставлять вместо стандартных выражений PerlRegexp ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2018, 12:14 |
|
||
|
Вставка неразрывного пробела в документ Word
|
|||
|---|---|---|---|
|
#18+
cptngrb, имеете в виду, что ваша R.RegEx должна стать сложнее для R.Subject навроде Код: pascal 1. ? OK, похоже, правда не понимаю... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2018, 12:59 |
|
||
|
Вставка неразрывного пробела в документ Word
|
|||
|---|---|---|---|
|
#18+
на сайте http://www.regular-expressions.info/pcre.html написано: авторBy default, PCRE compiles without Unicode support. If you try to use \p, \P or \X in your regular expressions, PCRE will complain it was compiled without Unicode support. To compile PCRE with Unicode support, you need to define the SUPPORT_UTF8 and SUPPORT_UCP conditional defines. If PCRE's configuration script works on your system, you can easily do this by running ./configure --enable-unicode-properties before running make. The regular expressions tutorial on this website assumes that you've compiled PCRE with these options and that all other options are set to their defaults. В конструкторе проставляется только SUPPORT_UTF8 , а SUPPORT_UCP нет и в исходниках не используется нигде. Так что тем, кто хочет использовать СТАНДАРТНЫЕ возможности PCRE придется изгаляться. Работа с русским текстом это ужас. Граница слова, слова ... только английский, и да, да все это описано в спецификациях, но Ъ. конкретно для случаю вставки непечатных символов написал функцию преобразования строки, поправьте если что Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2018, 12:25 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39633093&tid=2040993]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
203ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 221ms |
| total: | 508ms |

| 0 / 0 |
