ifullut
@ifullut
Учу программирование понарошку...

Как срезать в строке с нужного символа по следующую БУКВУ?

Имеется к примеру строка: "F34E72H7".
Мне нужно срезать с буквы Е по Н, и выделить число 72. Конечно можно было сделать так:
my = "F34E72H7"
print (my[my.index("E"):my[my.index("H")]) #72


Но мне нужно, чтобы вместо Е и Н была любая буква, а знать это заранее, при написании кода, нельзя.
И чтобы он выделил абсолютно всё число, то есть вместо 72, там может быть 7826 и он это выделит.
Пример работы:
Строка: F56G7S
Срез: с буквы F
Вывод: 56

Строка: G5293S982J
Срез: с буквы S
Вывод: 982
  • Вопрос задан
  • 101 просмотр
Решения вопроса 1
0xD34F
@0xD34F
re.search(f'{нужный_символ}(\d+)', string).group(1)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@lob4Noff
my = "G5293S982J"

start = input('Enter the start: ').upper() # S
end = input('Enter the end: ').upper() # J

try:
    result = my[(my.index(start)+1):my.index(end)] 
    print(result) # 982 
except:
    print('No matches!')

В переменные start и end можете передавать символы, и программа сама вычислит необходимый промежуток.
Ответ написан
Комментировать
MinTnt
@MinTnt
То что вы описываете, это обычные регулярки (regex)
s = "F34E72H7"
import re

letterForStartSlice = "F"
search = re.search(letterForStartSlice + "(\d+)\w", s)
print(search.group(1))
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы