Как отбросить символы в тексте, состоящим из 2000 и более символов, до этих 2000 символов на Python?
Я пытаюсь сделать дискорд бота википедию, который получает запрос и выдаёт ответ исходя из представленной информации. Проблема заключается в том, что некоторые ответы из википедии состоят из количества символов, которое недопустимо в дискорде.
Для запросов из википедии использую вот такой код:
a = wikipedia.summary(input("Введите запрос: "))
А для отбрасывания символов использовал:
print('.'.join(a.split('.')[:-1]))
Этот код для "отбрасывания" не помог... Помогите вы, пожалуйста!
Ответы (2 шт):
print('.'.join(a.split('.')[:-1]))
Этот ваш код отбрасывает из текста последнее предложение (если считать, что предложения разделены именно точками).
Если хотите взять просто 2000 первых символов, то возьмите соответственный срез от текста:
print(a[:2000])
Обрезать до 2000 символов, потом обрезать до последней точки (убрать последнее незаконченное предложение), или оставить как есть (если точка не нашлась):
# "qwer. tyui. yui".rpartition('.') -> ("qwer. tyui", ".", " yui")
# "qwer tyui yui".rpartition('.') -> ("", "", "qwer tyui yui")
left, dot, right = text[:2000].rpartition('.')
text = left + dot if left else right # вернуть left + dot, если в left что-то есть, иначе вернуть right
print(text)