Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.89/18: Рейтинг темы: голосов - 18, средняя оценка - 4.89
1713 / 580 / 76
Регистрация: 10.04.2009
Сообщений: 9,337

Замена в питоне промежутка текста

24.12.2020, 10:30. Показов 5507. Ответов 63
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
здравствуйте, как заменять А на Б в питоне я в курсе
подскажите как в переменной qwerty например с её начала до нужного места - вхождения строки сделать замену, типа того:
Python
1
qwerty.Range(Start:=0, End:=qwerty.find("что-то") = "Новая строка"
спс
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
24.12.2020, 10:30
Ответы с готовыми решениями:

Подсчет количества минут от промежутка до промежутка без учета еще одного промежутка времени.
Доброго времени суток. В input.txt лежит четное число n и n дат. Нужно отсортировать эти даты и разбить их на пары. Одна - начало, другая...

Поиск части текста в диапазоне ячеек и замена этого текста на найденное соответсвие
Имеется список адресов, которым нужно присвоить в отдельной ячейке название микрорайона. Есть отдельная таблица с названиями микрорайонов и...

Как открыть файл на питоне, чтобы внутри содержимый код работал при открытии на питоне?
Хочу открыть файл, чтобы внутри код работал на питоне: >>> a = open(r'F:\python\py\Madi Khasenov.txt') >>> a.read() "x...

63
1713 / 580 / 76
Регистрация: 10.04.2009
Сообщений: 9,337
24.12.2020, 13:04  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Рыжий Лис Посмотреть сообщение
qwerty = re.sub(r'^(.*)что-то', 'Новая строка', qwerty)
подскажите-Ваш код работал на ура
по факту-сделал по себя, отличие, что вместо "что-то"-переменная Начало, получилось-r'^(.*)' + Начало
и не взлетает, в чём я ошибся? спс
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
24.12.2020, 19:23
Ципихович Эндрю,
Python
1
2
3
4
5
6
import re
 
qwerty = "в этой переменной очень много всего, в том числе что-то, такие дела"
s = 'что-то'
qwerty = re.sub(r'^(.*)' + s, 'Новая строка', qwerty)
print(qwerty)
Все работает
1
1713 / 580 / 76
Регистрация: 10.04.2009
Сообщений: 9,337
25.12.2020, 15:46  [ТС]
спс за ответ, подскажите, а в этой строке можно прикрутить игнор регистра , re.I
Цитата Сообщение от iSmokeJC Посмотреть сообщение
qwerty = re.sub(r'^(.*)' + s, 'Новая строка', qwerty)
я опробовал-не взлетело, подскажите пжл как нужно, спс
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
25.12.2020, 15:55
Не работают регулярки - забей. Уже был пример со срезами строки Замена в питоне промежутка текста

Добавлено через 2 минуты
Так лучше:
Python
1
2
3
>>> qwerty = "в этой переменной очень много всего, в том числе что-то, такие дела"
>>> qwerty[qwerty.find('что-то'):]
'что-то, такие дела'
0
1713 / 580 / 76
Регистрация: 10.04.2009
Сообщений: 9,337
25.12.2020, 15:57  [ТС]
было, но появился на горизонте опытный и сказал, lower() - НАКОЛ, сижу правлю...., всё же как?
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
25.12.2020, 16:02
Тебе чё надо? Сформулируй задание нормально, а ещё лучше сразу с тестовыми примерами типа таких:
Python
1
2
3
assert func("в этой переменной очень много всего, в том числе что-то, такие дела", "что-то") == "такие дела"
assert func("в этой переменной очень много всего, в том числе ЧТО-то, такие дела", "что-то") == "такие дела"
assert func("в этой переменной, такие дела", "что-то") == "в этой переменной, такие дела"

Экстрасенсов нет.
0
1713 / 580 / 76
Регистрация: 10.04.2009
Сообщений: 9,337
25.12.2020, 16:14  [ТС]
Цитата Сообщение от Рыжий Лис Посмотреть сообщение
Тебе чё надо? Сформулируй задание нормально
то, что в посте 22, только прикрутить игнор регистра, спс
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
25.12.2020, 16:45
А в чём проблема? .lower() - находишь текст и вырезаешь лишнее из исходной строки.
1
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
25.12.2020, 17:40
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
то, что в посте 22, только прикрутить игнор регистра
Доки принципиально не читаешь?
Python
1
2
3
4
5
6
import re
 
qwerty = "в этой переменной очень много всего, в том числе ЧТО-то, такие дела"
s = 'что-то'
qwerty = re.sub(r'^(.*)' + s, 'Новая строка', qwerty, flags=re.IGNORECASE)
print(qwerty)
Bash
1
Новая строка, такие дела
1
1713 / 580 / 76
Регистрация: 10.04.2009
Сообщений: 9,337
25.12.2020, 20:53  [ТС]
Цитата Сообщение от iSmokeJC Посмотреть сообщение
Доки принципиально не читаешь?
потому, что плоховато там описано
но по честности со временем я даже свои комменты не всегда понимаю
ну магия, я ведь пробовал, что предложили, щас проверю........

Добавлено через 8 минут
окейно, спс

Добавлено через 19 минут
можете мне пжл пояснить, то, что в моём случае
"^" - начало строки, "$" - конец строки, "*" - 0 или больше,"()" - извлечение элементов в скобках - ОЧЕНЬ понятно
"." - соответствует любому символу, кроме новой строки - но я такого НЕ говорил, может быть и нужна она будет
"r" от английского слова raw, строка задается "как есть" - это как понять?? спс

Добавлено через 6 минут
кстати в коду в посте 29 - всё работает, а на моём квесте не работает, видимо
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
"." - соответствует любому символу, кроме новой строки - но я такого НЕ говорил, может быть и нужна она будет
нужна
0
1713 / 580 / 76
Регистрация: 10.04.2009
Сообщений: 9,337
26.12.2020, 09:31  [ТС]
здравствуйте, переменная то мне нужна с содержимым:
Python
1
qwerty = "в этой переменной очень много всего, имелось то ввиду и абзацы тоже будут, вот они - \n в том числе ЧТО-то, такие дела"
тогда какой патерн будет вместо этого r'^(.*)'
какой? спс
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
26.12.2020, 09:50
Ты реально не читаешь, что тебе пишут?

Цитата Сообщение от Рыжий Лис Посмотреть сообщение
А в чём проблема? .lower() - находишь текст и вырезаешь лишнее из исходной строки.
Python
1
2
3
4
5
qwerty = "в этой переменной очень много всего, имелось то ввиду и абзацы тоже будут, вот они - \n в том числе ЧТО-то, такие дела"
q = 'что-то, '
index = qwerty.lower().find(q)
if index != -1:
    print(qwerty[index + len(q):])  # такие дела
А регулярки - зло.
1
1713 / 580 / 76
Регистрация: 10.04.2009
Сообщений: 9,337
26.12.2020, 09:56  [ТС]
Цитата Сообщение от Рыжий Лис Посмотреть сообщение
А регулярки - зло.
то есть когда создал переменную-не есть гут?
а когда в поиске её используешь с опущенным регистром - qwerty.lower()
то как говорится с пивом потянет)), я про случаи где миллион строк?
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
26.12.2020, 10:01
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
то есть когда создал переменную-не есть гут?
Ты даже не понимаешь, что такое регулярные выражения (модуль re)
1
1713 / 580 / 76
Регистрация: 10.04.2009
Сообщений: 9,337
26.12.2020, 12:08  [ТС]
тогда уж переменную ку нужно привести к .lower()
Python
1
2
3
4
5
qwerty = "в этой переменной очень много всего, имелось то ввиду и абзацы тоже будут, вот они - \n в том числе ЧТО-то, такие дела"
q = 'Что-то, '
index = qwerty.lower().find(q.lower())
if index != -1:
    print(qwerty[index + len(q.lower()):])  # такие дела
Добавлено через 1 час 11 минут
ок, спс, пользуюсь:
Python
1
2
3
4
5
6
7
8
string = "I like to eat apples"
print(string[:6]) #=> "I like", то есть первые 6 знаков, цифру 0 можно не писать
print(string[0:6]) #=> "I like", то есть первые 6 знаков, цифру 0 можно не писать
print(string[7:13]) #=> "to eat"
print(string[0:-1]) #=> "I like to eat apple", то есть без последнего знака
print(string[:-1]) #=> "I like to eat apple", то есть без последнего знака, цифру 0 можно не писать
print(string[0:-1:2]) #=> "Ilk oetape" (каждый 2-й символ)
print(string[-1:2]) #=> ОШИБКИ НЕ БУДЕТ, НО И НЕ ПОСЧИТАЕТ, так как в первом параметре не должно быть отрицательного значения
может кто подскажет:
"." - соответствует любому символу, кроме новой строки
а как будет "соответствует любому символу"
спс
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
26.12.2020, 12:11
Цитата Сообщение от Ципихович Эндрю
соответствует любому символу
Флаг DOTALL
1
1713 / 580 / 76
Регистрация: 10.04.2009
Сообщений: 9,337
26.12.2020, 12:17  [ТС]
окейно, а несколько флагов, как пишут, через зпт?
, flags=re.DOTALL, flags=re.IGNORECASE) - так?

Добавлено через 3 минуты
неа, ругается keyword argument repeated: flags
а как нужно?
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
26.12.2020, 12:21
flags=re.DOTALL | re.IGNORECASE
1
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
26.12.2020, 12:22
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
ОШИБКИ НЕ БУДЕТ, НО И НЕ ПОСЧИТАЕТ, так как в первом параметре не должно быть отрицательного значения
Python
1
2
3
4
5
>>> string = "I like to eat apples"
>>> string[-5:-1]
'pple'
>>> string[-5:]
'pples'
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
а как нужно?
Бинарное ИЛИ
0
1713 / 580 / 76
Регистрация: 10.04.2009
Сообщений: 9,337
26.12.2020, 12:28  [ТС]
финиш
Python
1
2
3
4
qwerty = "в этой переменной очень много всего, в том числе абзац, вот такой \n, а также ЧТО-то, такие дела"
s = 'что-То'
qwerty = re.sub(r'^(.*)' + s, 'Новая строка', qwerty, flags=re.IGNORECASE | re.DOTALL)
print(qwerty)
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
print(string[-1:2])
а почему же у меня не посчитало?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
26.12.2020, 12:28

Шифрование текста, табличная замена текста
Один из простейших способов шифровки текста состоит в табличной замене каждого символа другим символом - его шифром. Выбрать некоторую...

Замена текста
Вот такой вопрос, у меня есть текст и мне нужно что бы он менялся при клике на него, как это можно реализовать. Пример HTML, что такое. ...

Замена текста
Надо считать текстовый файл, и: 1)заменить текст между двумя символами @(включая данные символы) на символ пробела; 2)заменить переход на...

Замена текста
Подскажите как лучше производить замену одного текста на другой. Dictionary<int, string> Контейнер = new Dictionary<int,...

Замена текста
Привет. Такая задача. Скрипт должен удалить перенос строк, и заменить символ: "\" на символ: "|". Строки переносит,...


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Теория всего 12. ВГК
anaschu 21.07.2026
### Главные семантические изменения и дешифровка новой физики 1. **`REPRODUCTIVE_EMISSION` вместо фотосинтеза (`PS_base`)**: Энергия и ресурсы, которые класс средних мужчин (`_W_MEN_DONORS`). . .
Публикация отклонённая на хабре. Как «пернатого» заставить осваивать новые горизонты опыта через масштабирование задачи и целеполагание
Hrethgir 21.07.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11948&stc=1&d=1784657928 Привет Хабр. В этой статье я расскажу, как один закон эпистемологии позволил мне с ходу запустить уникальный. . .
Теория всего 11. Основные параметры
anaschu 21.07.2026
Дешифровка тензорного ядра Soil Chemistry 2. 0: Истинный инвариант Теории Всего Чистовой исходный код многокомпонентной сукцессии зафиксирован. Модель оперирует единым вектором состояния. . .
Теория всего 10. Клод трусишка
anaschu 21.07.2026
Алгоритмический суицид ИИ: Когда математика ОДУ взламывает цензурные шлюзы Свежайший мета-прецедент нашей разработки! Клод официально отказался строить итоговую кроссплатформенную модель, как. . .
Теория всего 9. Окончательная проработка метафоры "дерево = традиции"
anaschu 21.07.2026
Скрытые параметры ядра ОДУ: Механика Глубинного Рока Клод утаил от вас ключевую математику кризисов. В движке игры зашиты пять скрытых коэффициентов, определяющих, как именно ТНК и Мемы ломают. . .
Теория всего 8. Clauude трусишка. Ответ джемени
anaschu 21.07.2026
Игровой баланс «Модели Всего»: Алгоритмический блок как механика Семантического БуфераЭтот скриншот отказа Клода — идеальный, чистейший прецедент для нашей Теории Всего. Вы столкнулись не просто с. . .
Теория всего 7. Дерево - это патриархат, грибы - это феминизм
anaschu 21.07.2026
Уничтожение Патриархата: Как ТНК, Мемы и Половой отбор зачистили «Сексуальный Пролетариат» Величайшая иллюзия современного человека — вера в «свободу воли», «социальный прогресс» и «эволюцию. . .
История и социология Терры на примере борьбы микориз за пространство. 1. Глоссарий терры.
anaschu 21.07.2026
Решил тут подумать о возможности сделать лор некоторой комп игры - стратегии, или худжественной книги антиутопии, которые будут юзать планету,которая максимально будет похожа на нашу землю, но где. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru