Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/25: Рейтинг темы: голосов - 25, средняя оценка - 4.92
0 / 0 / 0
Регистрация: 07.11.2013
Сообщений: 2

Как заменить двойные дефисы на длинное тире вне ссылок?

07.11.2013, 17:10. Показов 5239. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Требуется регулярка, которая исправляет двойные вхождения дефисов на тире, но с условием, что игнорируются двойные дефисы, находящиеся в url.
Понятно, что нужно использовать механизм negative lookahead, но что-то пока не получается добиться нужного результата. Буду признателен за поддержку!

Мой вариант
Python
1
2
text = "-- <a href="http://xn----8sboamadk0cefe5fhb.xn--p1ai">link</a>"
text = re.sub("(?<!http://[A-Z~a-z0-9_?&=%/])[-]{2,}", "–",text)
в результате исправляет все вхождения "--", в т.ч. находящиеся и в URL - что не требуется
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
07.11.2013, 17:10
Ответы с готовыми решениями:

Есть ли такая биржа ссылок, где можно размещать место для ссылок вне видимости страницы сайта
Например сдвинуть абсолютом размещаемые на сайте ссылки, вверх, вниз, вправо или влево?

Как заменить одинарные кавычки на двойные в HTML-выводе?
Здравствуйте! Такой вопрос: как мне сделать так, чтобы у меня были вместо одинарных кавычек - двойные в HTML коде, в значении value? Вот...

qt crator автоматические двойные скобки, кавычки (одинарные и двойные) (Желательно как в eclipse)
Можно организовать нечто подобное?

4
4866 / 3287 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
07.11.2013, 21:39
в комментариях тоже двойные дефисы используются
думаю, тут нужен lxml.html, чтобы тексты выделить
0
 Аватар для snakeand1
7 / 7 / 1
Регистрация: 17.06.2013
Сообщений: 83
07.11.2013, 22:47
Вариант рабочий, но выглядит не очень
Python
1
2
3
text = '-- <a href="http://xn----8sboamadk0cefe5fhb.xn--p1ai">link</a>'
text = text.split('"')
text[0] = text[0].replace('--', 'длинное_тире')
Если текст длиннее, то замену можно выполнять в цикле
Написал так, потому что не знаю регулярные выражения
0
 Аватар для t1m0n
638 / 416 / 27
Регистрация: 03.11.2009
Сообщений: 1,855
08.11.2013, 04:18
Цитата Сообщение от lik71 Посмотреть сообщение
Python
1
text = "-- <a href="http://xn----8sboamadk0cefe5fhb.xn--p1ai">link</a>"
а зачем заменять? почему не хранить в кириллическом формате адрес? тогда не будет заменять 2 тире
0
0 / 0 / 0
Регистрация: 07.11.2013
Сообщений: 2
08.11.2013, 10:14  [ТС]
Цитата Сообщение от t1m0n Посмотреть сообщение
а зачем заменять? почему не хранить в кириллическом формате адрес? тогда не будет заменять 2 тире
ситуация такова, что адреса хранятся в НЕкириллическом формате
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
08.11.2013, 10:14
Помогаю со студенческими работами здесь

При открытии в Office 2010 документа, созданного в Office 2013 короткое тире превращается в длинное
Создаю текстовый файл в Ворде от 2013 офиса, отправляю человеку, у которого офис 2010-й. Ему приходится менять все проставленные мной тире,...

Заменить тире в строке
Требуется заменить тире в строке &quot;14:00-19:00&quot; испробовала много вариантов регулярных выражений, но ничего не заработало Как же это...

Маркер UL заменить на тире
Как заменить вместо точки у ul li , на тере на вот такую - .

Заменить символы пробелов на тире
Помогите реализовать данную задачу

Заменить все пробелы на тире
В заданной строке символов заменить все пробелы на тире, причем, если несколько пробелов идет подряд, то заменить их одним тире.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru