Подтвердить что ты не робот

Зачистить все, кроме первых 5 символов - Python

Возможный дубликат:
Есть ли способ подстроить строку в Python?

У меня есть строка в форме "AAAH8192375948". Как сохранить первые 5 символов этой строки и удалить все остальное? Является ли оно в форме l.strip с отрицательным целым числом? Благодарю.

4b9b3361

Ответ 1

Строка в Python - это тип последовательности, как список или кортеж. Просто возьмите первые 5 символов:

 some_var = 'AAAH8192375948'[:5]
 print some_var # AAAH8

Нотация среза [start:end:increment] - номера являются необязательными, если вы хотите использовать значения по умолчанию (начинаются по умолчанию 0, заканчиваются len (my_sequence) и увеличивается на 1). Итак:

 sequence = [1,2,3,4,5,6,7,8,9,10] # range(1,11)

 sequence[0:5:1] == sequence[0:5] == sequence[:5] 
 # [1, 2, 3, 4, 5]

 sequence[1:len(sequence):1] == sequence[1:len(sequence)] == sequence[1:]
 # [2, 3, 4, 5, 6, 7, 8, 9, 10]

 sequence[0:len(sequence):2] == sequence[:len(sequence):2] == sequence[::2]
 # [1, 3, 5, 7, 9]

strip удаляет символ или набор символов из начала и конца строки - ввод отрицательного числа просто означает, что вы пытаясь удалить строковое представление этого отрицательного числа из строки.

Ответ 2

Я предполагаю, что вы не просто означаете "избавиться от всего, кроме первых 5 символов", а скорее "сохраните первые 5 символов и запустите strip() на остальных".

>>> x = 'AAH8192375948'
>>> x[:5]
'AAH81'
>>> x[:5] + x[5:].strip()
'AAH8192375948'

Ответ 3

Слышали ли вы о нарезке?

>>> # slice the first 5 characters
>>> first_five = string[:5]
>>>
>>> # strip the rest
>>> stripped = string[5:].strip()
>>>
>>> # in short:
>>> first_five_and_stripped = string[:5], string[5:].strip()
>>>
>>> first_five_and_stripped
('AAAH8', '192375948')