Удалить 1 слово в данных []

Ципихович Эндрю

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

Ципихович Эндрю

Активный пользователь
Пользователь
Мар 27, 2021
490
25
28
своё решение у меня конечно есть
Код:
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)
уверен, что есть способ получше....подскажите?
 

4olshoy_blen

Популярный
Пользователь
Ноя 13, 2022
423
115
43
Подход тот же, просто без лишних переменных и ифов
Python:
val = "[автомобильная трасса;какая?]![автомобильной трассы;где-возле?от чего-от?у чего-у?]"

for i in val.split('!'):
    val = val.replace(i.split()[0] + ' ', '[')

print(val)
 

Форум IT Специалистов