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

Вычленение слов из строки и их замена

21.03.2019, 15:40. Показов 2791. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дана строка в виде 'first+second+first*second=???' в ней нужно заменить first и second, и каждый раз с разным значением (т.е. replace не подходит), так вот, как вынуть эти элементы для последующего преобразования например в '1+2+3*4=???', можно через while пробежать всю строку добавляя слова и знаки в список, но есть что нибудь по рациональнее?
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
21.03.2019, 15:40
Ответы с готовыми решениями:

Вычленение слов из строки
#include <string> #include <iostream> using namespace std; int main() { int i=0, n=0, dlina; string stroka, slovo; cout <<...

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

Поиск по строке (вычленение из строки)
char buf; char a; ifstream fin; fin.open("cppstudio.txt"); if (!fin.is_open()) { cout << "Файл не может...

2
1303 / 843 / 409
Регистрация: 12.03.2018
Сообщений: 2,305
21.03.2019, 16:15
Лучший ответ Сообщение было отмечено danilkin_ как решение

Решение

Посмотрите в сторону регулярных выражений.

либо можно использовать оператор str.startswith(string).
Если нашли слово (first или second), вырезали его из строки, а в новую строку добавил нужное число. затем вырезайте знак из основной строки и вставляете в конец новой строки и так пока первая строка не пустая.
1
 Аватар для m0nte-cr1st0
1043 / 578 / 242
Регистрация: 15.01.2019
Сообщений: 2,178
Записей в блоге: 1
21.03.2019, 17:45
danilkin_, так норм?
Python
1
2
3
s = 'first+second+first*second=???'
s = '1+2+3*4=???'
print(s)
Добавлено через 24 минуты
Надеюсь, я не травмирую вашу психику.

Python
1
2
s = 'first+second+first*second=???'
print(s[0].replace(s[0], '1') + s[len('first')] + s[len('first')+1:].replace(s[len('first')+1:], '2')+s[len('first')+1+len('second')] + s[len('first')+2+len('second'):].replace(s[len('first')+2+len('second'):], '3')+s[len('first')*2+2+len('second')] + s[len('first')*2+3+len('second'):].replace(s[len('first')*2+3+len('second'):], '4')+s[len('first')*2+3+len('second')*2] + s[len('first')*2+4+len('second')*2:])
Добавлено через 30 минут
Может, надо было это сделать?
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import re
s = 'first+second+first+second*second=???'
 
first = len('first')
second = len('second')
 
new_s, sec, f = '', 0, 1
 
for i in re.findall(r"[\w']+", s):
  if i.startswith('f'):
    new_s += str(sec+f) + s[first*f + second*sec + f + sec -1]
    f += 1
  elif i.startswith('s'):
    new_s += str(sec+f) + s[first*f + second*sec + f + sec]
    sec += 1
 
print(new_s + str(eval(new_s[:-1])))
 
#1+2+3+4*5=26
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
21.03.2019, 17:45
Помогаю со студенческими работами здесь

Строки. Замена слов в строке.
Товарищи,кто подскажет как сделать чтобы Length(st), когда я допустим пишу for i:=1 to Length(st) do st:=st; менял не буквы...

Строки: нахождение символов и замена слов
Здравствуйте, дорогие форумчане. --------------------------------------- Помогите, пожалуйста, с решением задачи. Дана строка...

Строки: нахождение символов и замена слов
Здравствуйте, дорогие форумчане. ----------------------------------- Помогите, пожалуйста, решить задачу. Вот задание: ...

Строки: нахождение символов и замена слов
Здравствуйте, дорогие форумчане. ---------------------------------- Помогите, пожалуйста, с решением задачи. Составить программу...

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


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru