Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > Python
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.12.2022, 06:51   #1
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,043
По умолчанию Удалить 1 слово в данных []

здравствуйте, код:
Код:
import re
z = "[автомобильная трасса;какая?]![автомобильной трассы;где-возле?от чего-от?у чего-у?]"
print(re.sub(r'(?<=\[)\w+\s','', z))
работает как нужно, результат:
[трасса;какая?]![трассы;где-возле?от чего-от?у чего-у?]
но нужно без импортирования re, подскажите плиз

Последний раз редактировалось BDA; 18.12.2022 в 18:32.
Ципихович Эндрю вне форума Ответить с цитированием
Старый 18.12.2022, 07:45   #2
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,043
По умолчанию

своё решение у меня конечно есть
Код:
val = "[автомобильная трасса;какая?]![автомобильной трассы;где-возле?от чего-от?у чего-у?]"
val_split = val.split('[')
for ind, vl in enumerate(val_split):
    print(ind, vl)
    if ind != 0:
        print(vl.split()[0])
        val = val.replace('[' + vl.split()[0] + ' ', '[')
print(val)
уверен, что есть способ получше....подскажите?
Ципихович Эндрю вне форума Ответить с цитированием
Старый 18.12.2022, 18:38   #3
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Можно, например, так, но с re лучше:
Код:
val = "[автомобильная трасса;какая?]![автомобильной трассы;где-возле?от чего-от?у чего-у?]"
print("!".join("[" + subval.split(" ", 1)[1] for subval in val.split("!")))
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA на форуме Ответить с цитированием
Старый 18.12.2022, 19:14   #4
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,043
По умолчанию

спасибо это нужно по теме плагин Python Script для Notepad++ где re НЕ работает))
Ципихович Эндрю вне форума Ответить с цитированием
Старый 18.12.2022, 19:44   #5
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Код:
# -*- coding: utf-8 -*-
import re
z = editor.getSelText().decode("utf8")
print(re.sub(r'(?<=\[)\w+\s','', z, flags = re.U))
Так срабатывает.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA на форуме Ответить с цитированием
Старый 19.12.2022, 08:14   #6
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,043
По умолчанию

спасибо, то, что нужно
Ципихович Эндрю вне форума Ответить с цитированием
Старый 28.12.2022, 09:13   #7
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,043
По умолчанию

здравствуйте, наткнулся на проблему:
Код:
import re
z = "[автомобильная трасса;какая?]![автомобильной трассы;где-возле?от чего-от?у чего-у?]"
print(re.sub(r'(?<=\[)\w+\s','', z, flags = re.U))
 
z = "[костно-мышечная перегородка;какая?]![костно-мышечной перегородки;где-возле?от чего-от?у чего-у?]"
print(re.sub(r'(?<=\[)\w+\s','', z, flags = re.U))
в первом случае работает как нужно, во втором нет
нужно в результате:
[перегородка;какая?]![перегородки;где-возле?от чего-от?у чего-у?]
как подправить, чтобы работало для обеих случаев?
Ципихович Эндрю вне форума Ответить с цитированием
Старый 28.12.2022, 09:17   #8
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Код:
print(re.sub(r'(?<=\[)\S+\s','', z, flags = re.U))
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA на форуме Ответить с цитированием
Старый 28.12.2022, 09:21   #9
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,043
По умолчанию

спасибо, то, что нужно
Ципихович Эндрю вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удалить слово из строки justmuve Общие вопросы C/C++ 4 02.06.2020 12:10
Удалить слово из строки leekav Помощь студентам 1 29.05.2012 00:59
Удалить из текста слово в VB Наташок Помощь студентам 0 13.02.2011 00:33
VBA_макрос: удалить всю строку в таблице, если в ней есть слово "удалить" макарошка Microsoft Office Excel 15 05.10.2010 09:09
Как удалить слово из строки? Ellita Общие вопросы C/C++ 7 19.09.2007 15:43