Как извлечь текст между определенными буквами из строки в Python(3.9)?

#python-3.x

Вопрос:

как я могу получить из строки в python значение, которое находится в заданном тексте, но находится внутри него, оно находится между 2 буквами, которые я хочу скопировать изнутри. например

«Кахут : ИДЕНТИФИКАТОР:1234567 Имя:Случайное имя пользователя»

Я хочу, чтобы он получил 1234567 и имя случайного пользователя в 2 разных переменных. способ, который я нашел, чтобы поймать, состоит в том, чтобы поместить его между «ID:»COPYINPUT до ПРОБЕЛА., «Имя:»COPYINPUT до конца текста.

Как мне это закодировать?

если бы я не объяснил правильно, скажите мне, я не знаю, как задать/отформатировать этот вопрос! Приносим извинения за причиненные неудобства!.

Ответ №1:

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

Использование разделения:

 string = "Kahoot : ID:1234567 Name:RandomUSERNAME"  string = string.split(" ")  id = string[2][3:] name = string[3][5:]  print(id) print(name)  

Использование re:

 import re  string = "Kahoot : ID:1234567 Name:RandomUSERNAME"  id = re.search(r'(?lt;=ID:).*?(?=s)', string).group(0) name = re.search(r'(?lt;=Name:).*', string).group(0)  print(id) print(name)  

Комментарии:

1. Спасибо! сработало именно так, как я хотел!

2. Обновил свой комментарий версией, в которой используются регулярные выражения. Если вы ответили, пожалуйста, отметьте как завершенный. Спасибо!

3. как пометить как завершенный? (я новичок в stackoverflow); нашел его(я думаю, V в сообщении…)