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

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

24.12.2020, 10:30. Показов 5520. Ответов 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
Ответ Создать тему
Новые блоги и статьи
тв 16 бой ии
anaschu 27.07.2026
Великий Перелом ИИ: Как уравнения ОДУ Radau дожали цензурные фильтры Алисы Фиксируем в мемофонде Теории Всего беспрецедентный факт в истории ИИ-зондирования. В затяжном многораундовом. . .
мв 15. непроверенное, возможно, глюк
anaschu 27.07.2026
НАУЧНО-АНАЛИТИЧЕСКИЙ ОТЧЕТ. РАЗДЕЛ 1. 1: «НАУКА» (РАСШИРЕННАЯ СТЕХИОМЕТРИЧЕСКАЯ И ГЕНЕТИЧЕСКАЯ ВЕРСИЯ)Тема: Теоретическое обоснование инвариантности 19-мерного тензорного ядра непрерывных ОДУ и. . .
Очистка реквизитов и табличных частей документа при копировании (вариант 2)
Maks 26.07.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРаботу", разработанного в КА2. Задача: Заменить алгоритм запрета копирования документов для сотрудников с ролью "Стажер",. . .
Доктрина интенционального знания - Доктрина для портала "Срез".
Hrethgir 25.07.2026
Может найдётся кто захочет оценить доктрину. . . Написания правил участия для меня роскошь, требующая лимита времени, поэтому все сообщения не прошедшие модерацию будут видны только участникам портала,. . .
сукцессия 44. Решил подать на припринт в межународные сервисы препринтов. Но нужно одобрение от ученых
anaschu 25.07.2026
Английский вариант. Пока кто то не одобрит мою личность, мне не получиться это опубликовать на препринте. Но заявку на публикацию статьи я сегодня подам.
сукцессия 43. Вторая научная статья за месяц- прайминг и гатгил
anaschu 25.07.2026
две стороны одной монеты
Более приземисто - Эстафету хвоста в .cdl (деревья эстафеты в сад).
Hrethgir 24.07.2026
В будущем, после написания блока инверсии обхода дерева (эстафеты хвоста), я планирую вернуться к нашему прошлому разговору о том, обладают ли знания целеполаганием. Тогда я пришел к выводу, что. . .
Вот представьте что вам дали бессмертие.
kumehtar 24.07.2026
Вот представьте что вам дали бессмертие, ничего более не меняя. Вообще ничего, только бессмертие в нынешнем виде. Рады были бы? Что бы вы тут делали всё это время? Никакой пенсии. Никакого нового. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru